{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True\n",
      "An entry in the database can look like this:\n",
      "_____________________________________________\n",
      " result:\n",
      "| solution: placements=[Placement(x=142, y=50, rotated=False), Placement(x=0, y=0, rotate...\n",
      "| status: 2\n",
      "| upper_bound: 29.0\n",
      "| objective_value: 28.0\n",
      " timestamp: 2024-02-08T14:42:52.474424\n",
      " runtime: 90.07661151885986\n",
      " stdout: []\n",
      " stderr: []\n",
      " logging: []\n",
      " env_fingerprint: 5319a1e25b32e62cd7fc6a45758c502faa9dba75\n",
      " args_fingerprint: 53799b3791acae3bace7a972e17f82cecde9de4d\n",
      " parameters:\n",
      "| func: run_RectangleKnapsackWithoutRotationsModel\n",
      "| args:\n",
      "|| instance_name: hopper/N3d.json\n",
      "|| time_limit: 90.0\n",
      "|| opt_tol: 0.01\n",
      " argv: ['/ibr/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/slurmina...\n",
      " env:\n",
      "| hostname: algra03\n",
      "| python_version: 3.12.0 | packaged by Anaconda, Inc. | (main, Oct  2 2023, 17:29:18) [GCC 11.2.0]\n",
      "| python: /ibr/home/krupke/anaconda3/envs/mo312/bin/python3\n",
      "| cwd: /misc/ibr/home/krupke/cpsat-primer/evaluations/packing\n",
      "| git_revision: 318e849b0f579f33123852f6ff6b9ec89d77824a\n",
      "| python_file: /ibr/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/slurminade...\n",
      "______________________________________________\n",
      "Note that this is only based on the first entry, other entries could differ.\n"
     ]
    }
   ],
   "source": [
    "from algbench import read_as_pandas, describe\n",
    "from solver import Instance, Solution, Placement, plot_solution\n",
    "\n",
    "# print full pandas dataframes\n",
    "import pandas as pd\n",
    "\n",
    "pd.set_option(\"display.max_rows\", None)\n",
    "pd.set_option(\"display.max_columns\", None)\n",
    "pd.set_option(\"display.width\", None)\n",
    "\n",
    "ARCHIVE = \"./PRIVATE_DATA/results/\"\n",
    "from pathlib import Path\n",
    "\n",
    "print(Path(ARCHIVE).exists())\n",
    "\n",
    "describe(ARCHIVE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instance</th>\n",
       "      <th>rotation</th>\n",
       "      <th>time</th>\n",
       "      <th>status</th>\n",
       "      <th>upper_bound</th>\n",
       "      <th>objective_value</th>\n",
       "      <th>instance_size</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>185</th>\n",
       "      <td>hopper/C1_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.015568</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>186</th>\n",
       "      <td>hopper/C1_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.020278</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179</th>\n",
       "      <td>hopper/C1_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.024623</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>180</th>\n",
       "      <td>hopper/C1_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.126024</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143</th>\n",
       "      <td>hopper/TC1_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007339</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>hopper/TC1_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.012429</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>hopper/TC1_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005084</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>193</th>\n",
       "      <td>hopper/TC1_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.011919</td>\n",
       "      <td>4</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>195</th>\n",
       "      <td>hopper/C1_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.168387</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>196</th>\n",
       "      <td>hopper/C1_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.063275</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hopper/N1a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.220977</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>hopper/N1a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.691185</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>hopper/N1b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.066548</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>hopper/N1b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.195370</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110</th>\n",
       "      <td>hopper/N1c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.223273</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>hopper/N1c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.878846</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>hopper/N1d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.202984</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>hopper/N1d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.390702</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>hopper/N1e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.212213</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>hopper/N1e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.687634</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>hopper/TC1_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010252</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>hopper/TC1_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.008234</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>hopper/TN1a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010200</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>hopper/TN1a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.014060</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>hopper/TN1b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.016820</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>hopper/TN1b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013392</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>hopper/TN1c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010052</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>hopper/TN1c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.009371</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>114</th>\n",
       "      <td>hopper/TN1d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005295</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>hopper/TN1d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.007810</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>hopper/TN1e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.006160</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>hopper/TN1e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.008009</td>\n",
       "      <td>4</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>183</th>\n",
       "      <td>hopper/C2_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.731047</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>184</th>\n",
       "      <td>hopper/C2_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.597169</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>147</th>\n",
       "      <td>hopper/C2_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>2.154175</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>204</th>\n",
       "      <td>hopper/C2_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.009295</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>169</th>\n",
       "      <td>hopper/C2_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.107816</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>170</th>\n",
       "      <td>hopper/C2_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.269885</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>hopper/N2a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.084181</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>hopper/N2a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054700</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>hopper/N2b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>39.771423</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>hopper/N2b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.044327</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>hopper/N2c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>53.354979</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>hopper/N2c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.051986</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>hopper/N2d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>33.679702</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>hopper/N2d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.048454</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>hopper/N2e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.084265</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>hopper/N2e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.048412</td>\n",
       "      <td>2</td>\n",
       "      <td>25.0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>hopper/TC2_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009675</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>194</th>\n",
       "      <td>hopper/TC2_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013686</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>155</th>\n",
       "      <td>hopper/TC2_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010945</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>156</th>\n",
       "      <td>hopper/TC2_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013075</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>162</th>\n",
       "      <td>hopper/TC2_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.171830</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>163</th>\n",
       "      <td>hopper/TC2_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.026000</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>hopper/TN2a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007882</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>hopper/TN2a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.009931</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>111</th>\n",
       "      <td>hopper/TN2b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009394</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>112</th>\n",
       "      <td>hopper/TN2b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.011902</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>hopper/TN2c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.015786</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>hopper/TN2c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.011604</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105</th>\n",
       "      <td>hopper/TN2d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009728</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>hopper/TN2d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.015321</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>hopper/TN2e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010458</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>hopper/TN2e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.016804</td>\n",
       "      <td>4</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>151</th>\n",
       "      <td>hopper/C3_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>12.511768</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>152</th>\n",
       "      <td>hopper/C3_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>67.238002</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>219</th>\n",
       "      <td>hopper/C3_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.805113</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>220</th>\n",
       "      <td>hopper/C3_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>78.368088</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142</th>\n",
       "      <td>hopper/TC3_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.008089</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159</th>\n",
       "      <td>hopper/TC3_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013506</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>209</th>\n",
       "      <td>hopper/TC3_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.164669</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>210</th>\n",
       "      <td>hopper/TC3_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.019949</td>\n",
       "      <td>4</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>222</th>\n",
       "      <td>hopper/C3_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>52.663810</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>223</th>\n",
       "      <td>hopper/C3_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>17.010567</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>hopper/N3a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.078180</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>hopper/N3a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.045434</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>123</th>\n",
       "      <td>hopper/N3b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.097486</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124</th>\n",
       "      <td>hopper/N3b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.053664</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>hopper/N3c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.148089</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>hopper/N3c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050321</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>hopper/N3d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.076612</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>hopper/N3d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.046658</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>hopper/N3e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.096446</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>hopper/N3e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050183</td>\n",
       "      <td>2</td>\n",
       "      <td>29.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153</th>\n",
       "      <td>hopper/TC3_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.011381</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>154</th>\n",
       "      <td>hopper/TC3_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013144</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>hopper/TN3a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.011151</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>hopper/TN3a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013818</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>hopper/TN3b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009889</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>hopper/TN3b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013853</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>hopper/TN3c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.012463</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127</th>\n",
       "      <td>hopper/TN3c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.012585</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>hopper/TN3d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009837</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>hopper/TN3d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.014044</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122</th>\n",
       "      <td>hopper/TN3e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.018525</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>hopper/TN3e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.016346</td>\n",
       "      <td>4</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>177</th>\n",
       "      <td>hopper/C4_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.036359</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>hopper/C4_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.045727</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>167</th>\n",
       "      <td>hopper/C4_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.039501</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>168</th>\n",
       "      <td>hopper/C4_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.039548</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>199</th>\n",
       "      <td>hopper/C4_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.039703</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>200</th>\n",
       "      <td>hopper/C4_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.038601</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>hopper/N4a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.044611</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>hopper/N4a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.047182</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>hopper/N4b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.056744</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>hopper/N4b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.047247</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>hopper/N4c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.046440</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>hopper/N4c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.048118</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>hopper/N4d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.050132</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>85</th>\n",
       "      <td>hopper/N4d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054504</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>128</th>\n",
       "      <td>hopper/N4e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.048912</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129</th>\n",
       "      <td>hopper/N4e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.051460</td>\n",
       "      <td>2</td>\n",
       "      <td>49.0</td>\n",
       "      <td>48.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>181</th>\n",
       "      <td>hopper/TC4_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.012437</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>182</th>\n",
       "      <td>hopper/TC4_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.023406</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>hopper/TC4_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.012355</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>hopper/TC4_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.021058</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>216</th>\n",
       "      <td>hopper/TC4_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.014377</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>217</th>\n",
       "      <td>hopper/TC4_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.024120</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>hopper/TN4a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010460</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>hopper/TN4a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.021017</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>hopper/TN4b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.020126</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>hopper/TN4b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.024557</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>hopper/TN4c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.012814</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>hopper/TN4c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.020487</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>hopper/TN4d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.026953</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>hopper/TN4d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.023218</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>hopper/TN4e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.016353</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>hopper/TN4e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.023562</td>\n",
       "      <td>4</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>hopper/C5_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.041120</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>150</th>\n",
       "      <td>hopper/C5_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050579</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>hopper/C5_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.038155</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>hopper/C5_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.047659</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>176</th>\n",
       "      <td>hopper/C5_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.035089</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>201</th>\n",
       "      <td>hopper/C5_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.044855</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>hopper/N5a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.045765</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>hopper/N5a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.049275</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>108</th>\n",
       "      <td>hopper/N5b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.042523</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>hopper/N5b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054536</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106</th>\n",
       "      <td>hopper/N5c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.048637</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>107</th>\n",
       "      <td>hopper/N5c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054791</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>hopper/N5d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.049441</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>hopper/N5d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054095</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>hopper/N5e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.044727</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>hopper/N5e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.048372</td>\n",
       "      <td>2</td>\n",
       "      <td>73.0</td>\n",
       "      <td>72.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>202</th>\n",
       "      <td>hopper/TC5_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.024865</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>203</th>\n",
       "      <td>hopper/TC5_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.037098</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>221</th>\n",
       "      <td>hopper/TC5_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.032235</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>hopper/TC5_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.051048</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>197</th>\n",
       "      <td>hopper/TC5_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.022671</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>198</th>\n",
       "      <td>hopper/TC5_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.035519</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>hopper/TN5a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.023071</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>hopper/TN5a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.040007</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>hopper/TN5b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.020362</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>hopper/TN5b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.035359</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>hopper/TN5c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.025205</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>hopper/TN5c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.041047</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>hopper/TN5d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.028355</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>hopper/TN5d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.044938</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>hopper/TN5e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.021392</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>hopper/TN5e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.028509</td>\n",
       "      <td>4</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>73</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145</th>\n",
       "      <td>hopper/C6_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.040614</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>hopper/C6_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.048564</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>207</th>\n",
       "      <td>hopper/C6_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.042883</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>208</th>\n",
       "      <td>hopper/C6_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.047278</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>218</th>\n",
       "      <td>hopper/C6_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.043085</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>164</th>\n",
       "      <td>hopper/C6_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.053615</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>hopper/N6a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.052317</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>hopper/N6a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050887</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>hopper/N6b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.049476</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>hopper/N6b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057222</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>hopper/N6c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.043851</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>hopper/N6c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.052288</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>hopper/N6d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.050100</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>hopper/N6d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054717</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135</th>\n",
       "      <td>hopper/N6e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.044479</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>96.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>136</th>\n",
       "      <td>hopper/N6e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050400</td>\n",
       "      <td>2</td>\n",
       "      <td>97.0</td>\n",
       "      <td>95.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>165</th>\n",
       "      <td>hopper/TC6_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.033533</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>166</th>\n",
       "      <td>hopper/TC6_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.055882</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>205</th>\n",
       "      <td>hopper/TC6_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.030865</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>206</th>\n",
       "      <td>hopper/TC6_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.058018</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>hopper/TC6_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.036983</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141</th>\n",
       "      <td>hopper/TC6_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.059827</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>hopper/TN6a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.027689</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>hopper/TN6a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.054162</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>hopper/TN6b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.027848</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>hopper/TN6b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.062950</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>hopper/TN6c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.037665</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>hopper/TN6c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.061032</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>hopper/TN6d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.034199</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>hopper/TN6d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.057683</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>hopper/TN6e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.046530</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>hopper/TN6e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.084107</td>\n",
       "      <td>4</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97.0</td>\n",
       "      <td>97</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>157</th>\n",
       "      <td>hopper/C7_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.037316</td>\n",
       "      <td>2</td>\n",
       "      <td>196.0</td>\n",
       "      <td>186.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>158</th>\n",
       "      <td>hopper/C7_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.384454</td>\n",
       "      <td>2</td>\n",
       "      <td>196.0</td>\n",
       "      <td>185.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>190</th>\n",
       "      <td>hopper/C7_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.188504</td>\n",
       "      <td>2</td>\n",
       "      <td>196.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>191</th>\n",
       "      <td>hopper/C7_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.414429</td>\n",
       "      <td>2</td>\n",
       "      <td>196.0</td>\n",
       "      <td>189.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>174</th>\n",
       "      <td>hopper/TC7_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.135873</td>\n",
       "      <td>4</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>175</th>\n",
       "      <td>hopper/TC7_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.232455</td>\n",
       "      <td>4</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>hopper/TC7_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.137254</td>\n",
       "      <td>4</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>189</th>\n",
       "      <td>hopper/TC7_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.256544</td>\n",
       "      <td>4</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196.0</td>\n",
       "      <td>196</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>hopper/C7_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.166951</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>193.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>173</th>\n",
       "      <td>hopper/C7_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.394882</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>120</th>\n",
       "      <td>hopper/N7a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.037548</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121</th>\n",
       "      <td>hopper/N7a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.523074</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137</th>\n",
       "      <td>hopper/N7b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.153704</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>hopper/N7b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.319142</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>187.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>103</th>\n",
       "      <td>hopper/N7c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.038364</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>191.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>104</th>\n",
       "      <td>hopper/N7c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.386961</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>hopper/N7d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.198703</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>188.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>hopper/N7d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.325620</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>187.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>hopper/N7e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.208442</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>190.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>hopper/N7e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.457085</td>\n",
       "      <td>2</td>\n",
       "      <td>197.0</td>\n",
       "      <td>188.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>187</th>\n",
       "      <td>hopper/TC7_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.133043</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>188</th>\n",
       "      <td>hopper/TC7_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.234900</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>hopper/TN7a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.203854</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>hopper/TN7a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.248194</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>hopper/TN7b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.137596</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>119</th>\n",
       "      <td>hopper/TN7b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.243844</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>hopper/TN7c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.186150</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>hopper/TN7c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.245844</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>hopper/TN7d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.194482</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>hopper/TN7d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.262698</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>hopper/TN7e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.190735</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>hopper/TN7e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.234196</td>\n",
       "      <td>4</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197.0</td>\n",
       "      <td>197</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              instance  rotation       time  status  upper_bound  \\\n",
       "185   hopper/C1_1.json     False   0.015568       4         16.0   \n",
       "186   hopper/C1_1.json      True   0.020278       4         16.0   \n",
       "179   hopper/C1_3.json     False   0.024623       4         16.0   \n",
       "180   hopper/C1_3.json      True   0.126024       4         16.0   \n",
       "143  hopper/TC1_1.json     False   0.007339       4         16.0   \n",
       "144  hopper/TC1_1.json      True   0.012429       4         16.0   \n",
       "213  hopper/TC1_3.json     False   0.005084       4         16.0   \n",
       "193  hopper/TC1_3.json      True   0.011919       4         16.0   \n",
       "195   hopper/C1_2.json     False   0.168387       4         17.0   \n",
       "196   hopper/C1_2.json      True   0.063275       4         17.0   \n",
       "6      hopper/N1a.json     False   0.220977       4         17.0   \n",
       "7      hopper/N1a.json      True   0.691185       4         17.0   \n",
       "73     hopper/N1b.json     False   0.066548       4         17.0   \n",
       "74     hopper/N1b.json      True   0.195370       4         17.0   \n",
       "110    hopper/N1c.json     False   0.223273       4         17.0   \n",
       "9      hopper/N1c.json      True   0.878846       4         17.0   \n",
       "56     hopper/N1d.json     False   0.202984       4         17.0   \n",
       "57     hopper/N1d.json      True   0.390702       4         17.0   \n",
       "31     hopper/N1e.json     False   0.212213       4         17.0   \n",
       "32     hopper/N1e.json      True   1.687634       4         17.0   \n",
       "211  hopper/TC1_2.json     False   0.010252       4         17.0   \n",
       "212  hopper/TC1_2.json      True   0.008234       4         17.0   \n",
       "39    hopper/TN1a.json     False   0.010200       4         17.0   \n",
       "40    hopper/TN1a.json      True   0.014060       4         17.0   \n",
       "102   hopper/TN1b.json     False   0.016820       4         17.0   \n",
       "113   hopper/TN1b.json      True   0.013392       4         17.0   \n",
       "17    hopper/TN1c.json     False   0.010052       4         17.0   \n",
       "18    hopper/TN1c.json      True   0.009371       4         17.0   \n",
       "114   hopper/TN1d.json     False   0.005295       4         17.0   \n",
       "115   hopper/TN1d.json      True   0.007810       4         17.0   \n",
       "86    hopper/TN1e.json     False   0.006160       4         17.0   \n",
       "87    hopper/TN1e.json      True   0.008009       4         17.0   \n",
       "183   hopper/C2_1.json     False   0.731047       4         25.0   \n",
       "184   hopper/C2_1.json      True   0.597169       4         25.0   \n",
       "147   hopper/C2_2.json     False   2.154175       4         25.0   \n",
       "204   hopper/C2_2.json      True   1.009295       4         25.0   \n",
       "169   hopper/C2_3.json     False   0.107816       4         25.0   \n",
       "170   hopper/C2_3.json      True   0.269885       4         25.0   \n",
       "46     hopper/N2a.json     False  90.084181       2         25.0   \n",
       "47     hopper/N2a.json      True  90.054700       2         25.0   \n",
       "130    hopper/N2b.json     False  39.771423       4         25.0   \n",
       "131    hopper/N2b.json      True  90.044327       2         25.0   \n",
       "15     hopper/N2c.json     False  53.354979       4         25.0   \n",
       "16     hopper/N2c.json      True  90.051986       2         25.0   \n",
       "59     hopper/N2d.json     False  33.679702       4         25.0   \n",
       "60     hopper/N2d.json      True  90.048454       2         25.0   \n",
       "90     hopper/N2e.json     False  90.084265       2         25.0   \n",
       "91     hopper/N2e.json      True  90.048412       2         25.0   \n",
       "171  hopper/TC2_1.json     False   0.009675       4         25.0   \n",
       "194  hopper/TC2_1.json      True   0.013686       4         25.0   \n",
       "155  hopper/TC2_2.json     False   0.010945       4         25.0   \n",
       "156  hopper/TC2_2.json      True   0.013075       4         25.0   \n",
       "162  hopper/TC2_3.json     False   0.171830       4         25.0   \n",
       "163  hopper/TC2_3.json      True   0.026000       4         25.0   \n",
       "10    hopper/TN2a.json     False   0.007882       4         25.0   \n",
       "11    hopper/TN2a.json      True   0.009931       4         25.0   \n",
       "111   hopper/TN2b.json     False   0.009394       4         25.0   \n",
       "112   hopper/TN2b.json      True   0.011902       4         25.0   \n",
       "67    hopper/TN2c.json     False   0.015786       4         25.0   \n",
       "68    hopper/TN2c.json      True   0.011604       4         25.0   \n",
       "105   hopper/TN2d.json     False   0.009728       4         25.0   \n",
       "80    hopper/TN2d.json      True   0.015321       4         25.0   \n",
       "2     hopper/TN2e.json     False   0.010458       4         25.0   \n",
       "45    hopper/TN2e.json      True   0.016804       4         25.0   \n",
       "151   hopper/C3_1.json     False  12.511768       4         28.0   \n",
       "152   hopper/C3_1.json      True  67.238002       4         28.0   \n",
       "219   hopper/C3_3.json     False   0.805113       4         28.0   \n",
       "220   hopper/C3_3.json      True  78.368088       4         28.0   \n",
       "142  hopper/TC3_1.json     False   0.008089       4         28.0   \n",
       "159  hopper/TC3_1.json      True   0.013506       4         28.0   \n",
       "209  hopper/TC3_3.json     False   0.164669       4         28.0   \n",
       "210  hopper/TC3_3.json      True   0.019949       4         28.0   \n",
       "222   hopper/C3_2.json     False  52.663810       4         29.0   \n",
       "223   hopper/C3_2.json      True  17.010567       4         29.0   \n",
       "43     hopper/N3a.json     False  90.078180       2         29.0   \n",
       "44     hopper/N3a.json      True  90.045434       2         29.0   \n",
       "123    hopper/N3b.json     False  90.097486       2         29.0   \n",
       "124    hopper/N3b.json      True  90.053664       2         29.0   \n",
       "139    hopper/N3c.json     False  90.148089       2         29.0   \n",
       "3      hopper/N3c.json      True  90.050321       2         29.0   \n",
       "0      hopper/N3d.json     False  90.076612       2         29.0   \n",
       "1      hopper/N3d.json      True  90.046658       2         29.0   \n",
       "21     hopper/N3e.json     False  90.096446       2         29.0   \n",
       "125    hopper/N3e.json      True  90.050183       2         29.0   \n",
       "153  hopper/TC3_2.json     False   0.011381       4         29.0   \n",
       "154  hopper/TC3_2.json      True   0.013144       4         29.0   \n",
       "48    hopper/TN3a.json     False   0.011151       4         29.0   \n",
       "49    hopper/TN3a.json      True   0.013818       4         29.0   \n",
       "29    hopper/TN3b.json     False   0.009889       4         29.0   \n",
       "30    hopper/TN3b.json      True   0.013853       4         29.0   \n",
       "126   hopper/TN3c.json     False   0.012463       4         29.0   \n",
       "127   hopper/TN3c.json      True   0.012585       4         29.0   \n",
       "71    hopper/TN3d.json     False   0.009837       4         29.0   \n",
       "72    hopper/TN3d.json      True   0.014044       4         29.0   \n",
       "122   hopper/TN3e.json     False   0.018525       4         29.0   \n",
       "51    hopper/TN3e.json      True   0.016346       4         29.0   \n",
       "177   hopper/C4_1.json     False  90.036359       2         49.0   \n",
       "178   hopper/C4_1.json      True  90.045727       2         49.0   \n",
       "167   hopper/C4_2.json     False  90.039501       2         49.0   \n",
       "168   hopper/C4_2.json      True  90.039548       2         49.0   \n",
       "199   hopper/C4_3.json     False  90.039703       2         49.0   \n",
       "200   hopper/C4_3.json      True  90.038601       2         49.0   \n",
       "69     hopper/N4a.json     False  90.044611       2         49.0   \n",
       "58     hopper/N4a.json      True  90.047182       2         49.0   \n",
       "63     hopper/N4b.json     False  90.056744       2         49.0   \n",
       "64     hopper/N4b.json      True  90.047247       2         49.0   \n",
       "24     hopper/N4c.json     False  90.046440       2         49.0   \n",
       "36     hopper/N4c.json      True  90.048118       2         49.0   \n",
       "84     hopper/N4d.json     False  90.050132       2         49.0   \n",
       "85     hopper/N4d.json      True  90.054504       2         49.0   \n",
       "128    hopper/N4e.json     False  90.048912       2         49.0   \n",
       "129    hopper/N4e.json      True  90.051460       2         49.0   \n",
       "181  hopper/TC4_1.json     False   0.012437       4         49.0   \n",
       "182  hopper/TC4_1.json      True   0.023406       4         49.0   \n",
       "214  hopper/TC4_2.json     False   0.012355       4         49.0   \n",
       "215  hopper/TC4_2.json      True   0.021058       4         49.0   \n",
       "216  hopper/TC4_3.json     False   0.014377       4         49.0   \n",
       "217  hopper/TC4_3.json      True   0.024120       4         49.0   \n",
       "81    hopper/TN4a.json     False   0.010460       4         49.0   \n",
       "82    hopper/TN4a.json      True   0.021017       4         49.0   \n",
       "88    hopper/TN4b.json     False   0.020126       4         49.0   \n",
       "89    hopper/TN4b.json      True   0.024557       4         49.0   \n",
       "75    hopper/TN4c.json     False   0.012814       4         49.0   \n",
       "76    hopper/TN4c.json      True   0.020487       4         49.0   \n",
       "78    hopper/TN4d.json     False   0.026953       4         49.0   \n",
       "79    hopper/TN4d.json      True   0.023218       4         49.0   \n",
       "35    hopper/TN4e.json     False   0.016353       4         49.0   \n",
       "95    hopper/TN4e.json      True   0.023562       4         49.0   \n",
       "149   hopper/C5_1.json     False  90.041120       2         73.0   \n",
       "150   hopper/C5_1.json      True  90.050579       2         73.0   \n",
       "160   hopper/C5_2.json     False  90.038155       2         73.0   \n",
       "148   hopper/C5_2.json      True  90.047659       2         73.0   \n",
       "176   hopper/C5_3.json     False  90.035089       2         73.0   \n",
       "201   hopper/C5_3.json      True  90.044855       2         73.0   \n",
       "116    hopper/N5a.json     False  90.045765       2         73.0   \n",
       "117    hopper/N5a.json      True  90.049275       2         73.0   \n",
       "108    hopper/N5b.json     False  90.042523       2         73.0   \n",
       "109    hopper/N5b.json      True  90.054536       2         73.0   \n",
       "106    hopper/N5c.json     False  90.048637       2         73.0   \n",
       "107    hopper/N5c.json      True  90.054791       2         73.0   \n",
       "50     hopper/N5d.json     False  90.049441       2         73.0   \n",
       "83     hopper/N5d.json      True  90.054095       2         73.0   \n",
       "25     hopper/N5e.json     False  90.044727       2         73.0   \n",
       "26     hopper/N5e.json      True  90.048372       2         73.0   \n",
       "202  hopper/TC5_1.json     False   0.024865       4         73.0   \n",
       "203  hopper/TC5_1.json      True   0.037098       4         73.0   \n",
       "221  hopper/TC5_2.json     False   0.032235       4         73.0   \n",
       "161  hopper/TC5_2.json      True   0.051048       4         73.0   \n",
       "197  hopper/TC5_3.json     False   0.022671       4         73.0   \n",
       "198  hopper/TC5_3.json      True   0.035519       4         73.0   \n",
       "22    hopper/TN5a.json     False   0.023071       4         73.0   \n",
       "23    hopper/TN5a.json      True   0.040007       4         73.0   \n",
       "41    hopper/TN5b.json     False   0.020362       4         73.0   \n",
       "42    hopper/TN5b.json      True   0.035359       4         73.0   \n",
       "33    hopper/TN5c.json     False   0.025205       4         73.0   \n",
       "34    hopper/TN5c.json      True   0.041047       4         73.0   \n",
       "134   hopper/TN5d.json     False   0.028355       4         73.0   \n",
       "70    hopper/TN5d.json      True   0.044938       4         73.0   \n",
       "96    hopper/TN5e.json     False   0.021392       4         73.0   \n",
       "97    hopper/TN5e.json      True   0.028509       4         73.0   \n",
       "145   hopper/C6_1.json     False  90.040614       2         97.0   \n",
       "146   hopper/C6_1.json      True  90.048564       2         97.0   \n",
       "207   hopper/C6_2.json     False  90.042883       2         97.0   \n",
       "208   hopper/C6_2.json      True  90.047278       2         97.0   \n",
       "218   hopper/C6_3.json     False  90.043085       2         97.0   \n",
       "164   hopper/C6_3.json      True  90.053615       2         97.0   \n",
       "100    hopper/N6a.json     False  90.052317       2         97.0   \n",
       "101    hopper/N6a.json      True  90.050887       2         97.0   \n",
       "27     hopper/N6b.json     False  90.049476       2         97.0   \n",
       "28     hopper/N6b.json      True  90.057222       2         97.0   \n",
       "12     hopper/N6c.json     False  90.043851       2         97.0   \n",
       "13     hopper/N6c.json      True  90.052288       2         97.0   \n",
       "4      hopper/N6d.json     False  90.050100       2         97.0   \n",
       "5      hopper/N6d.json      True  90.054717       2         97.0   \n",
       "135    hopper/N6e.json     False  90.044479       2         97.0   \n",
       "136    hopper/N6e.json      True  90.050400       2         97.0   \n",
       "165  hopper/TC6_1.json     False   0.033533       4         97.0   \n",
       "166  hopper/TC6_1.json      True   0.055882       4         97.0   \n",
       "205  hopper/TC6_2.json     False   0.030865       4         97.0   \n",
       "206  hopper/TC6_2.json      True   0.058018       4         97.0   \n",
       "140  hopper/TC6_3.json     False   0.036983       4         97.0   \n",
       "141  hopper/TC6_3.json      True   0.059827       4         97.0   \n",
       "61    hopper/TN6a.json     False   0.027689       4         97.0   \n",
       "62    hopper/TN6a.json      True   0.054162       4         97.0   \n",
       "65    hopper/TN6b.json     False   0.027848       4         97.0   \n",
       "66    hopper/TN6b.json      True   0.062950       4         97.0   \n",
       "37    hopper/TN6c.json     False   0.037665       4         97.0   \n",
       "38    hopper/TN6c.json      True   0.061032       4         97.0   \n",
       "52    hopper/TN6d.json     False   0.034199       4         97.0   \n",
       "53    hopper/TN6d.json      True   0.057683       4         97.0   \n",
       "98    hopper/TN6e.json     False   0.046530       4         97.0   \n",
       "99    hopper/TN6e.json      True   0.084107       4         97.0   \n",
       "157   hopper/C7_1.json     False  90.037316       2        196.0   \n",
       "158   hopper/C7_1.json      True  90.384454       2        196.0   \n",
       "190   hopper/C7_3.json     False  90.188504       2        196.0   \n",
       "191   hopper/C7_3.json      True  90.414429       2        196.0   \n",
       "174  hopper/TC7_1.json     False   0.135873       4        196.0   \n",
       "175  hopper/TC7_1.json      True   0.232455       4        196.0   \n",
       "192  hopper/TC7_3.json     False   0.137254       4        196.0   \n",
       "189  hopper/TC7_3.json      True   0.256544       4        196.0   \n",
       "172   hopper/C7_2.json     False  90.166951       2        197.0   \n",
       "173   hopper/C7_2.json      True  90.394882       2        197.0   \n",
       "120    hopper/N7a.json     False  90.037548       2        197.0   \n",
       "121    hopper/N7a.json      True  90.523074       2        197.0   \n",
       "137    hopper/N7b.json     False  90.153704       2        197.0   \n",
       "138    hopper/N7b.json      True  90.319142       2        197.0   \n",
       "103    hopper/N7c.json     False  90.038364       2        197.0   \n",
       "104    hopper/N7c.json      True  90.386961       2        197.0   \n",
       "14     hopper/N7d.json     False  90.198703       2        197.0   \n",
       "77     hopper/N7d.json      True  90.325620       2        197.0   \n",
       "132    hopper/N7e.json     False  90.208442       2        197.0   \n",
       "133    hopper/N7e.json      True  90.457085       2        197.0   \n",
       "187  hopper/TC7_2.json     False   0.133043       4        197.0   \n",
       "188  hopper/TC7_2.json      True   0.234900       4        197.0   \n",
       "19    hopper/TN7a.json     False   0.203854       4        197.0   \n",
       "20    hopper/TN7a.json      True   0.248194       4        197.0   \n",
       "118   hopper/TN7b.json     False   0.137596       4        197.0   \n",
       "119   hopper/TN7b.json      True   0.243844       4        197.0   \n",
       "93    hopper/TN7c.json     False   0.186150       4        197.0   \n",
       "94    hopper/TN7c.json      True   0.245844       4        197.0   \n",
       "8     hopper/TN7d.json     False   0.194482       4        197.0   \n",
       "92    hopper/TN7d.json      True   0.262698       4        197.0   \n",
       "54    hopper/TN7e.json     False   0.190735       4        197.0   \n",
       "55    hopper/TN7e.json      True   0.234196       4        197.0   \n",
       "\n",
       "     objective_value  instance_size  \n",
       "185             16.0             16  \n",
       "186             16.0             16  \n",
       "179             16.0             16  \n",
       "180             16.0             16  \n",
       "143             16.0             16  \n",
       "144             16.0             16  \n",
       "213             16.0             16  \n",
       "193             16.0             16  \n",
       "195             17.0             17  \n",
       "196             17.0             17  \n",
       "6               17.0             17  \n",
       "7               17.0             17  \n",
       "73              17.0             17  \n",
       "74              17.0             17  \n",
       "110             17.0             17  \n",
       "9               17.0             17  \n",
       "56              17.0             17  \n",
       "57              17.0             17  \n",
       "31              17.0             17  \n",
       "32              17.0             17  \n",
       "211             17.0             17  \n",
       "212             17.0             17  \n",
       "39              17.0             17  \n",
       "40              17.0             17  \n",
       "102             17.0             17  \n",
       "113             17.0             17  \n",
       "17              17.0             17  \n",
       "18              17.0             17  \n",
       "114             17.0             17  \n",
       "115             17.0             17  \n",
       "86              17.0             17  \n",
       "87              17.0             17  \n",
       "183             25.0             25  \n",
       "184             25.0             25  \n",
       "147             25.0             25  \n",
       "204             25.0             25  \n",
       "169             25.0             25  \n",
       "170             25.0             25  \n",
       "46              24.0             25  \n",
       "47              24.0             25  \n",
       "130             25.0             25  \n",
       "131             24.0             25  \n",
       "15              25.0             25  \n",
       "16              24.0             25  \n",
       "59              25.0             25  \n",
       "60              24.0             25  \n",
       "90              24.0             25  \n",
       "91              24.0             25  \n",
       "171             25.0             25  \n",
       "194             25.0             25  \n",
       "155             25.0             25  \n",
       "156             25.0             25  \n",
       "162             25.0             25  \n",
       "163             25.0             25  \n",
       "10              25.0             25  \n",
       "11              25.0             25  \n",
       "111             25.0             25  \n",
       "112             25.0             25  \n",
       "67              25.0             25  \n",
       "68              25.0             25  \n",
       "105             25.0             25  \n",
       "80              25.0             25  \n",
       "2               25.0             25  \n",
       "45              25.0             25  \n",
       "151             28.0             28  \n",
       "152             28.0             28  \n",
       "219             28.0             28  \n",
       "220             28.0             28  \n",
       "142             28.0             28  \n",
       "159             28.0             28  \n",
       "209             28.0             28  \n",
       "210             28.0             28  \n",
       "222             29.0             29  \n",
       "223             29.0             29  \n",
       "43              28.0             29  \n",
       "44              28.0             29  \n",
       "123             28.0             29  \n",
       "124             28.0             29  \n",
       "139             28.0             29  \n",
       "3               28.0             29  \n",
       "0               28.0             29  \n",
       "1               28.0             29  \n",
       "21              28.0             29  \n",
       "125             28.0             29  \n",
       "153             29.0             29  \n",
       "154             29.0             29  \n",
       "48              29.0             29  \n",
       "49              29.0             29  \n",
       "29              29.0             29  \n",
       "30              29.0             29  \n",
       "126             29.0             29  \n",
       "127             29.0             29  \n",
       "71              29.0             29  \n",
       "72              29.0             29  \n",
       "122             29.0             29  \n",
       "51              29.0             29  \n",
       "177             48.0             49  \n",
       "178             48.0             49  \n",
       "167             48.0             49  \n",
       "168             48.0             49  \n",
       "199             48.0             49  \n",
       "200             48.0             49  \n",
       "69              48.0             49  \n",
       "58              48.0             49  \n",
       "63              48.0             49  \n",
       "64              48.0             49  \n",
       "24              48.0             49  \n",
       "36              48.0             49  \n",
       "84              48.0             49  \n",
       "85              48.0             49  \n",
       "128             48.0             49  \n",
       "129             48.0             49  \n",
       "181             49.0             49  \n",
       "182             49.0             49  \n",
       "214             49.0             49  \n",
       "215             49.0             49  \n",
       "216             49.0             49  \n",
       "217             49.0             49  \n",
       "81              49.0             49  \n",
       "82              49.0             49  \n",
       "88              49.0             49  \n",
       "89              49.0             49  \n",
       "75              49.0             49  \n",
       "76              49.0             49  \n",
       "78              49.0             49  \n",
       "79              49.0             49  \n",
       "35              49.0             49  \n",
       "95              49.0             49  \n",
       "149             72.0             73  \n",
       "150             72.0             73  \n",
       "160             72.0             73  \n",
       "148             72.0             73  \n",
       "176             72.0             73  \n",
       "201             72.0             73  \n",
       "116             71.0             73  \n",
       "117             71.0             73  \n",
       "108             72.0             73  \n",
       "109             72.0             73  \n",
       "106             72.0             73  \n",
       "107             71.0             73  \n",
       "50              71.0             73  \n",
       "83              71.0             73  \n",
       "25              71.0             73  \n",
       "26              72.0             73  \n",
       "202             73.0             73  \n",
       "203             73.0             73  \n",
       "221             73.0             73  \n",
       "161             73.0             73  \n",
       "197             73.0             73  \n",
       "198             73.0             73  \n",
       "22              73.0             73  \n",
       "23              73.0             73  \n",
       "41              73.0             73  \n",
       "42              73.0             73  \n",
       "33              73.0             73  \n",
       "34              73.0             73  \n",
       "134             73.0             73  \n",
       "70              73.0             73  \n",
       "96              73.0             73  \n",
       "97              73.0             73  \n",
       "145             96.0             97  \n",
       "146             95.0             97  \n",
       "207             96.0             97  \n",
       "208             95.0             97  \n",
       "218             96.0             97  \n",
       "164             95.0             97  \n",
       "100             96.0             97  \n",
       "101             95.0             97  \n",
       "27              96.0             97  \n",
       "28              95.0             97  \n",
       "12              95.0             97  \n",
       "13              95.0             97  \n",
       "4               95.0             97  \n",
       "5               95.0             97  \n",
       "135             96.0             97  \n",
       "136             95.0             97  \n",
       "165             97.0             97  \n",
       "166             97.0             97  \n",
       "205             97.0             97  \n",
       "206             97.0             97  \n",
       "140             97.0             97  \n",
       "141             97.0             97  \n",
       "61              97.0             97  \n",
       "62              97.0             97  \n",
       "65              97.0             97  \n",
       "66              97.0             97  \n",
       "37              97.0             97  \n",
       "38              97.0             97  \n",
       "52              97.0             97  \n",
       "53              97.0             97  \n",
       "98              97.0             97  \n",
       "99              97.0             97  \n",
       "157            186.0            196  \n",
       "158            185.0            196  \n",
       "190            190.0            196  \n",
       "191            189.0            196  \n",
       "174            196.0            196  \n",
       "175            196.0            196  \n",
       "192            196.0            196  \n",
       "189            196.0            196  \n",
       "172            193.0            197  \n",
       "173            191.0            197  \n",
       "120            191.0            197  \n",
       "121            191.0            197  \n",
       "137            191.0            197  \n",
       "138            187.0            197  \n",
       "103            191.0            197  \n",
       "104            190.0            197  \n",
       "14             188.0            197  \n",
       "77             187.0            197  \n",
       "132            190.0            197  \n",
       "133            188.0            197  \n",
       "187            197.0            197  \n",
       "188            197.0            197  \n",
       "19             197.0            197  \n",
       "20             197.0            197  \n",
       "118            197.0            197  \n",
       "119            197.0            197  \n",
       "93             197.0            197  \n",
       "94             197.0            197  \n",
       "8              197.0            197  \n",
       "92             197.0            197  \n",
       "54             197.0            197  \n",
       "55             197.0            197  "
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_instance_size(instance):\n",
    "    with open(f\"./instances/{instance}\") as f:\n",
    "        return len(Instance.model_validate_json(f.read()).rectangles)\n",
    "\n",
    "\n",
    "data = read_as_pandas(\n",
    "    \"./PRIVATE_DATA/results\",\n",
    "    lambda entry: {\n",
    "        \"instance\": entry[\"parameters\"][\"args\"][\"instance_name\"],\n",
    "        \"rotation\": \"WithRotation\" in entry[\"parameters\"][\"func\"],\n",
    "        \"time\": entry[\"runtime\"],\n",
    "        \"status\": entry[\"result\"][\"status\"],\n",
    "        \"upper_bound\": entry[\"result\"][\"upper_bound\"],\n",
    "        \"objective_value\": entry[\"result\"][\"objective_value\"],\n",
    "        \"instance_size\": get_instance_size(\n",
    "            entry[\"parameters\"][\"args\"][\"instance_name\"]\n",
    "        ),\n",
    "    }\n",
    "    if entry[\"parameters\"][\"func\"]\n",
    "    in [\n",
    "        \"run_RectangleKnapsackWithoutRotationsModel\",\n",
    "        \"run_RectangleKnapsackWithRotationsModel\",\n",
    "    ]\n",
    "    else None,\n",
    ")\n",
    "data.sort_values(by=[\"instance_size\", \"instance\", \"rotation\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n",
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data[\"packed\"] = 100 * (data[\"objective_value\"] / data[\"upper_bound\"])\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_theme(style=\"whitegrid\")\n",
    "\n",
    "# boxplot with the packed percentage\n",
    "plt.figure(figsize=(6, 3))\n",
    "t = data.copy()\n",
    "t.rename(columns={\"rotation\": \"Rotation allowed?\"}, inplace=True)\n",
    "sns.barplot(x=\"instance_size\", y=\"packed\", hue=\"Rotation allowed?\", data=t)\n",
    "\n",
    "plt.ylabel(\"Percentage of rectangles packed\")\n",
    "plt.xlabel(\"Number of rectangles in instance\")\n",
    "plt.title(\"Packed percentage by instance size\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instance</th>\n",
       "      <th>rotation</th>\n",
       "      <th>time</th>\n",
       "      <th>status</th>\n",
       "      <th>feasible</th>\n",
       "      <th>infeasible</th>\n",
       "      <th>instance_size</th>\n",
       "      <th>solution</th>\n",
       "      <th>solved</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>184</th>\n",
       "      <td>hopper/C1_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007258</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>hopper/C1_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.025661</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>181</th>\n",
       "      <td>hopper/C1_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.020733</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=16, y=0, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>170</th>\n",
       "      <td>hopper/C1_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.208480</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142</th>\n",
       "      <td>hopper/TC1_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.004564</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143</th>\n",
       "      <td>hopper/TC1_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.012949</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>191</th>\n",
       "      <td>hopper/TC1_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005040</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>hopper/TC1_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.012154</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>16</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>147</th>\n",
       "      <td>hopper/C1_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.059612</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=3, y=2, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>148</th>\n",
       "      <td>hopper/C1_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.121645</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=True),...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>hopper/N1a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.434990</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=167, y=68, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>hopper/N1a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>9.059874</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=True),...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>hopper/N1b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.113035</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=63, y=0, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>hopper/N1b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.294792</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=63, y=0, rotated=True)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>hopper/N1c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.189408</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=129, y=10, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>hopper/N1c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.535862</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=104, y=0, rotated=True...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>hopper/N1d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.165486</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=134, y=51, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>hopper/N1d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>7.532162</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=True),...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>hopper/N1e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>1.425941</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=179, y=44, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>hopper/N1e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>8.273266</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=179, rotated=True...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>210</th>\n",
       "      <td>hopper/TC1_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005684</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>211</th>\n",
       "      <td>hopper/TC1_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.013833</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>hopper/TN1a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.006920</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>121</th>\n",
       "      <td>hopper/TN1a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.116589</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>111</th>\n",
       "      <td>hopper/TN1b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005460</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>112</th>\n",
       "      <td>hopper/TN1b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.144011</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>hopper/TN1c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.004338</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>hopper/TN1c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.093186</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>hopper/TN1d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.008570</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>hopper/TN1d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.100122</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>85</th>\n",
       "      <td>hopper/TN1e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.003308</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>108</th>\n",
       "      <td>hopper/TN1e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.146075</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>17</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>182</th>\n",
       "      <td>hopper/C2_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>1.466354</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=29, y=12, rotated=Fals...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>183</th>\n",
       "      <td>hopper/C2_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>3.605654</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=24, y=12, rotated=Fals...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>201</th>\n",
       "      <td>hopper/C2_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>1.484688</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=29, y=12, rotated=Fals...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>202</th>\n",
       "      <td>hopper/C2_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.813102</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=29, y=12, rotated=Fals...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>173</th>\n",
       "      <td>hopper/C2_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.371562</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=9, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>174</th>\n",
       "      <td>hopper/C2_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.289871</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=31, y=3, rotated=True)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>hopper/N2a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>33.038774</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=25, y=137, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>hopper/N2a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.066071</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>hopper/N2b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.119925</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>131</th>\n",
       "      <td>hopper/N2b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>7.731910</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=True),...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>hopper/N2c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>15.447609</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=37, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>hopper/N2c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.060785</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>hopper/N2d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.121400</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>hopper/N2d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.062018</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90</th>\n",
       "      <td>hopper/N2e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.108010</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>91</th>\n",
       "      <td>hopper/N2e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.051701</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>193</th>\n",
       "      <td>hopper/TC2_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.008258</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>194</th>\n",
       "      <td>hopper/TC2_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.024079</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159</th>\n",
       "      <td>hopper/TC2_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.004721</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>hopper/TC2_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.017181</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>165</th>\n",
       "      <td>hopper/TC2_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005125</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>149</th>\n",
       "      <td>hopper/TC2_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.178560</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>hopper/TN2a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.008766</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>hopper/TN2a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.379630</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>hopper/TN2b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.004965</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110</th>\n",
       "      <td>hopper/TN2b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.443949</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>hopper/TN2c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.003865</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>hopper/TN2c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.438464</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>79</th>\n",
       "      <td>hopper/TN2d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005333</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80</th>\n",
       "      <td>hopper/TN2d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.287313</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>hopper/TN2e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009717</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>hopper/TN2e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.387726</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>25</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>152</th>\n",
       "      <td>hopper/C3_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>13.650039</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=21, y=8, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>hopper/C3_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.060683</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>217</th>\n",
       "      <td>hopper/C3_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>3.927184</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=0, y=17, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>218</th>\n",
       "      <td>hopper/C3_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>21.784693</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=3, y=0, rotated=True),...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>hopper/TC3_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005019</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>162</th>\n",
       "      <td>hopper/TC3_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.046718</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>208</th>\n",
       "      <td>hopper/TC3_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.004980</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>209</th>\n",
       "      <td>hopper/TC3_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.045314</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>28</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>220</th>\n",
       "      <td>hopper/C3_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>68.103471</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=13, rotated=False...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>221</th>\n",
       "      <td>hopper/C3_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>54.364997</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=30, y=7, rotated=True)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>hopper/N3a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.098253</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>103</th>\n",
       "      <td>hopper/N3a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057065</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>122</th>\n",
       "      <td>hopper/N3b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.097191</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>123</th>\n",
       "      <td>hopper/N3b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.061207</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>hopper/N3c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>55.197956</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=165, y=65, rotated=Fal...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>hopper/N3c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.062470</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>hopper/N3d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.081094</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>hopper/N3d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050689</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>124</th>\n",
       "      <td>hopper/N3e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.112275</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>hopper/N3e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057408</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>155</th>\n",
       "      <td>hopper/TC3_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.008052</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>156</th>\n",
       "      <td>hopper/TC3_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.049981</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>hopper/TN3a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007671</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>hopper/TN3a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.416417</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>hopper/TN3b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009136</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>hopper/TN3b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.574655</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>134</th>\n",
       "      <td>hopper/TN3c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010458</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>135</th>\n",
       "      <td>hopper/TN3c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.594656</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>83</th>\n",
       "      <td>hopper/TN3d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.009037</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>hopper/TN3d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.415718</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>hopper/TN3e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.005231</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>hopper/TN3e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.558967</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>29</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179</th>\n",
       "      <td>hopper/C4_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.045133</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>180</th>\n",
       "      <td>hopper/C4_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.040699</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>hopper/C4_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.045148</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>hopper/C4_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.037823</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>196</th>\n",
       "      <td>hopper/C4_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.046189</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>203</th>\n",
       "      <td>hopper/C4_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.043366</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>hopper/N4a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.060814</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>hopper/N4a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.047895</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>hopper/N4b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.064243</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>hopper/N4b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.052723</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>hopper/N4c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.046445</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>hopper/N4c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.049526</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>hopper/N4d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.057645</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>hopper/N4d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.050054</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>127</th>\n",
       "      <td>hopper/N4e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.049435</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>128</th>\n",
       "      <td>hopper/N4e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.056505</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>222</th>\n",
       "      <td>hopper/TC4_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.012553</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>223</th>\n",
       "      <td>hopper/TC4_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.570465</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>213</th>\n",
       "      <td>hopper/TC4_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.016052</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>214</th>\n",
       "      <td>hopper/TC4_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>0.619398</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215</th>\n",
       "      <td>hopper/TC4_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.010133</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>216</th>\n",
       "      <td>hopper/TC4_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.040169</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>hopper/TN4a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.011078</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>hopper/TN4a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.729461</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>87</th>\n",
       "      <td>hopper/TN4b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.016591</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>hopper/TN4b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.984406</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>hopper/TN4c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007838</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>hopper/TN4c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.541890</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>hopper/TN4d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.017420</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>hopper/TN4d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.982913</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>94</th>\n",
       "      <td>hopper/TN4e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.007778</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>hopper/TN4e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>1.879873</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>49</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153</th>\n",
       "      <td>hopper/C5_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.042225</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>154</th>\n",
       "      <td>hopper/C5_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.049085</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>150</th>\n",
       "      <td>hopper/C5_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.035154</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>151</th>\n",
       "      <td>hopper/C5_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.046592</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>197</th>\n",
       "      <td>hopper/C5_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.034641</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>198</th>\n",
       "      <td>hopper/C5_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.049622</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>114</th>\n",
       "      <td>hopper/N5a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.045590</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>hopper/N5a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057826</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106</th>\n",
       "      <td>hopper/N5b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.050210</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>107</th>\n",
       "      <td>hopper/N5b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.060038</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>104</th>\n",
       "      <td>hopper/N5c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.039228</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105</th>\n",
       "      <td>hopper/N5c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.053166</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>81</th>\n",
       "      <td>hopper/N5d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.044048</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>82</th>\n",
       "      <td>hopper/N5d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057683</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>hopper/N5e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.047859</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>hopper/N5e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.056035</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>199</th>\n",
       "      <td>hopper/TC5_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.024894</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>200</th>\n",
       "      <td>hopper/TC5_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.484567</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>163</th>\n",
       "      <td>hopper/TC5_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.019094</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>164</th>\n",
       "      <td>hopper/TC5_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>3.214923</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>195</th>\n",
       "      <td>hopper/TC5_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.016087</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>212</th>\n",
       "      <td>hopper/TC5_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>2.218730</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>hopper/TN5a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.020282</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>hopper/TN5a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>8.095542</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>hopper/TN5b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.018967</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>hopper/TN5b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>9.046098</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>hopper/TN5c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.019052</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>hopper/TN5c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>7.359675</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>hopper/TN5d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.021331</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>hopper/TN5d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>8.719765</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>hopper/TN5e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.021729</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>hopper/TN5e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>8.171357</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>73</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>hopper/C6_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.036928</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>219</th>\n",
       "      <td>hopper/C6_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.055643</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>206</th>\n",
       "      <td>hopper/C6_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.032487</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>207</th>\n",
       "      <td>hopper/C6_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.054420</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>166</th>\n",
       "      <td>hopper/C6_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.036247</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>167</th>\n",
       "      <td>hopper/C6_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.055764</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>hopper/N6a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.041863</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>hopper/N6a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.063768</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>hopper/N6b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.042196</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>hopper/N6b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.060118</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>hopper/N6c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.046358</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>hopper/N6c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.061522</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>hopper/N6d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.044038</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>hopper/N6d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.066215</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>136</th>\n",
       "      <td>hopper/N6e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.050139</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>hopper/N6e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.065589</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>168</th>\n",
       "      <td>hopper/TC6_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.031201</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>169</th>\n",
       "      <td>hopper/TC6_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.057573</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>204</th>\n",
       "      <td>hopper/TC6_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.031507</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>205</th>\n",
       "      <td>hopper/TC6_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.061470</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>hopper/TC6_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.031492</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141</th>\n",
       "      <td>hopper/TC6_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>9.094279</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>hopper/TN6a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.029096</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>hopper/TN6a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>20.834414</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>hopper/TN6b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.031390</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>hopper/TN6b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>20.839930</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>hopper/TN6c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.039223</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>hopper/TN6c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.059647</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>hopper/TN6d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.039253</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>hopper/TN6d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>22.172262</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>hopper/TN6e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.034157</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>129</th>\n",
       "      <td>hopper/TN6e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>20.564489</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>97</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>175</th>\n",
       "      <td>hopper/C7_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.187222</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>176</th>\n",
       "      <td>hopper/C7_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.318941</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>189</th>\n",
       "      <td>hopper/C7_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.147794</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>190</th>\n",
       "      <td>hopper/C7_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.259936</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>157</th>\n",
       "      <td>hopper/TC7_1.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.302908</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>158</th>\n",
       "      <td>hopper/TC7_1.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.301020</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>187</th>\n",
       "      <td>hopper/TC7_3.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.361746</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>188</th>\n",
       "      <td>hopper/TC7_3.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.476585</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>196</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>177</th>\n",
       "      <td>hopper/C7_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.174463</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>145</th>\n",
       "      <td>hopper/C7_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.269157</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>119</th>\n",
       "      <td>hopper/N7a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.144905</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>120</th>\n",
       "      <td>hopper/N7a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.330726</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>hopper/N7b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.140331</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>hopper/N7b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.363065</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>hopper/N7c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.194800</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>hopper/N7c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.148461</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>hopper/N7d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.158889</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>78</th>\n",
       "      <td>hopper/N7d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.404980</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>132</th>\n",
       "      <td>hopper/N7e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>90.172903</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133</th>\n",
       "      <td>hopper/N7e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.374479</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>185</th>\n",
       "      <td>hopper/TC7_2.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.360905</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>186</th>\n",
       "      <td>hopper/TC7_2.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.310499</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>hopper/TN7a.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.427442</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>hopper/TN7a.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.105845</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>hopper/TN7b.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.315599</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>137</th>\n",
       "      <td>hopper/TN7b.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.378781</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>hopper/TN7c.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.352441</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>hopper/TN7c.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.332512</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>hopper/TN7d.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.361128</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>93</th>\n",
       "      <td>hopper/TN7d.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.293606</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>hopper/TN7e.json</td>\n",
       "      <td>False</td>\n",
       "      <td>0.368462</td>\n",
       "      <td>4</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>placements=[Placement(x=0, y=0, rotated=False)...</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>hopper/TN7e.json</td>\n",
       "      <td>True</td>\n",
       "      <td>90.433582</td>\n",
       "      <td>0</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>197</td>\n",
       "      <td>None</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              instance  rotation       time  status  feasible  infeasible  \\\n",
       "184   hopper/C1_1.json     False   0.007258       4      True       False   \n",
       "146   hopper/C1_1.json      True   0.025661       4      True       False   \n",
       "181   hopper/C1_3.json     False   0.020733       4      True       False   \n",
       "170   hopper/C1_3.json      True   0.208480       4      True       False   \n",
       "142  hopper/TC1_1.json     False   0.004564       4      True       False   \n",
       "143  hopper/TC1_1.json      True   0.012949       4      True       False   \n",
       "191  hopper/TC1_3.json     False   0.005040       4      True       False   \n",
       "192  hopper/TC1_3.json      True   0.012154       4      True       False   \n",
       "147   hopper/C1_2.json     False   0.059612       4      True       False   \n",
       "148   hopper/C1_2.json      True   0.121645       4      True       False   \n",
       "4      hopper/N1a.json     False   0.434990       4      True       False   \n",
       "5      hopper/N1a.json      True   9.059874       4      True       False   \n",
       "72     hopper/N1b.json     False   0.113035       4      True       False   \n",
       "73     hopper/N1b.json      True   0.294792       4      True       False   \n",
       "6      hopper/N1c.json     False   0.189408       4      True       False   \n",
       "7      hopper/N1c.json      True   1.535862       4      True       False   \n",
       "54     hopper/N1d.json     False   0.165486       4      True       False   \n",
       "55     hopper/N1d.json      True   7.532162       4      True       False   \n",
       "30     hopper/N1e.json     False   1.425941       4      True       False   \n",
       "89     hopper/N1e.json      True   8.273266       4      True       False   \n",
       "210  hopper/TC1_2.json     False   0.005684       4      True       False   \n",
       "211  hopper/TC1_2.json      True   0.013833       4      True       False   \n",
       "37    hopper/TN1a.json     False   0.006920       4      True       False   \n",
       "121   hopper/TN1a.json      True   0.116589       4      True       False   \n",
       "111   hopper/TN1b.json     False   0.005460       4      True       False   \n",
       "112   hopper/TN1b.json      True   0.144011       4      True       False   \n",
       "13    hopper/TN1c.json     False   0.004338       4      True       False   \n",
       "14    hopper/TN1c.json      True   0.093186       4      True       False   \n",
       "116   hopper/TN1d.json     False   0.008570       4      True       False   \n",
       "117   hopper/TN1d.json      True   0.100122       4      True       False   \n",
       "85    hopper/TN1e.json     False   0.003308       4      True       False   \n",
       "108   hopper/TN1e.json      True   0.146075       4      True       False   \n",
       "182   hopper/C2_1.json     False   1.466354       4      True       False   \n",
       "183   hopper/C2_1.json      True   3.605654       4      True       False   \n",
       "201   hopper/C2_2.json     False   1.484688       4      True       False   \n",
       "202   hopper/C2_2.json      True   1.813102       4      True       False   \n",
       "173   hopper/C2_3.json     False   0.371562       4      True       False   \n",
       "174   hopper/C2_3.json      True   1.289871       4      True       False   \n",
       "22     hopper/N2a.json     False  33.038774       4      True       False   \n",
       "23     hopper/N2a.json      True  90.066071       0     False       False   \n",
       "130    hopper/N2b.json     False  90.119925       0     False       False   \n",
       "131    hopper/N2b.json      True   7.731910       4      True       False   \n",
       "11     hopper/N2c.json     False  15.447609       4      True       False   \n",
       "12     hopper/N2c.json      True  90.060785       0     False       False   \n",
       "96     hopper/N2d.json     False  90.121400       0     False       False   \n",
       "97     hopper/N2d.json      True  90.062018       0     False       False   \n",
       "90     hopper/N2e.json     False  90.108010       0     False       False   \n",
       "91     hopper/N2e.json      True  90.051701       0     False       False   \n",
       "193  hopper/TC2_1.json     False   0.008258       4      True       False   \n",
       "194  hopper/TC2_1.json      True   0.024079       4      True       False   \n",
       "159  hopper/TC2_2.json     False   0.004721       4      True       False   \n",
       "160  hopper/TC2_2.json      True   0.017181       4      True       False   \n",
       "165  hopper/TC2_3.json     False   0.005125       4      True       False   \n",
       "149  hopper/TC2_3.json      True   0.178560       4      True       False   \n",
       "61    hopper/TN2a.json     False   0.008766       4      True       False   \n",
       "62    hopper/TN2a.json      True   0.379630       4      True       False   \n",
       "109   hopper/TN2b.json     False   0.004965       4      True       False   \n",
       "110   hopper/TN2b.json      True   0.443949       4      True       False   \n",
       "67    hopper/TN2c.json     False   0.003865       4      True       False   \n",
       "68    hopper/TN2c.json      True   0.438464       4      True       False   \n",
       "79    hopper/TN2d.json     False   0.005333       4      True       False   \n",
       "80    hopper/TN2d.json      True   0.287313       4      True       False   \n",
       "44    hopper/TN2e.json     False   0.009717       4      True       False   \n",
       "45    hopper/TN2e.json      True   0.387726       4      True       False   \n",
       "152   hopper/C3_1.json     False  13.650039       4      True       False   \n",
       "178   hopper/C3_1.json      True  90.060683       0     False       False   \n",
       "217   hopper/C3_3.json     False   3.927184       4      True       False   \n",
       "218   hopper/C3_3.json      True  21.784693       4      True       False   \n",
       "161  hopper/TC3_1.json     False   0.005019       4      True       False   \n",
       "162  hopper/TC3_1.json      True   0.046718       4      True       False   \n",
       "208  hopper/TC3_3.json     False   0.004980       4      True       False   \n",
       "209  hopper/TC3_3.json      True   0.045314       4      True       False   \n",
       "220   hopper/C3_2.json     False  68.103471       4      True       False   \n",
       "221   hopper/C3_2.json      True  54.364997       4      True       False   \n",
       "43     hopper/N3a.json     False  90.098253       0     False       False   \n",
       "103    hopper/N3a.json      True  90.057065       0     False       False   \n",
       "122    hopper/N3b.json     False  90.097191       0     False       False   \n",
       "123    hopper/N3b.json      True  90.061207       0     False       False   \n",
       "2      hopper/N3c.json     False  55.197956       4      True       False   \n",
       "3      hopper/N3c.json      True  90.062470       0     False       False   \n",
       "0      hopper/N3d.json     False  90.081094       0     False       False   \n",
       "1      hopper/N3d.json      True  90.050689       0     False       False   \n",
       "124    hopper/N3e.json     False  90.112275       0     False       False   \n",
       "125    hopper/N3e.json      True  90.057408       0     False       False   \n",
       "155  hopper/TC3_2.json     False   0.008052       4      True       False   \n",
       "156  hopper/TC3_2.json      True   0.049981       4      True       False   \n",
       "46    hopper/TN3a.json     False   0.007671       4      True       False   \n",
       "47    hopper/TN3a.json      True   0.416417       4      True       False   \n",
       "26    hopper/TN3b.json     False   0.009136       4      True       False   \n",
       "27    hopper/TN3b.json      True   0.574655       4      True       False   \n",
       "134   hopper/TN3c.json     False   0.010458       4      True       False   \n",
       "135   hopper/TN3c.json      True   0.594656       4      True       False   \n",
       "83    hopper/TN3d.json     False   0.009037       4      True       False   \n",
       "84    hopper/TN3d.json      True   0.415718       4      True       False   \n",
       "48    hopper/TN3e.json     False   0.005231       4      True       False   \n",
       "49    hopper/TN3e.json      True   0.558967       4      True       False   \n",
       "179   hopper/C4_1.json     False  90.045133       0     False       False   \n",
       "180   hopper/C4_1.json      True  90.040699       0     False       False   \n",
       "171   hopper/C4_2.json     False  90.045148       0     False       False   \n",
       "172   hopper/C4_2.json      True  90.037823       0     False       False   \n",
       "196   hopper/C4_3.json     False  90.046189       0     False       False   \n",
       "203   hopper/C4_3.json      True  90.043366       0     False       False   \n",
       "56     hopper/N4a.json     False  90.060814       0     False       False   \n",
       "57     hopper/N4a.json      True  90.047895       0     False       False   \n",
       "63     hopper/N4b.json     False  90.064243       0     False       False   \n",
       "71     hopper/N4b.json      True  90.052723       0     False       False   \n",
       "33     hopper/N4c.json     False  90.046445       0     False       False   \n",
       "34     hopper/N4c.json      True  90.049526       0     False       False   \n",
       "28     hopper/N4d.json     False  90.057645       0     False       False   \n",
       "29     hopper/N4d.json      True  90.050054       0     False       False   \n",
       "127    hopper/N4e.json     False  90.049435       0     False       False   \n",
       "128    hopper/N4e.json      True  90.056505       0     False       False   \n",
       "222  hopper/TC4_1.json     False   0.012553       4      True       False   \n",
       "223  hopper/TC4_1.json      True   0.570465       4      True       False   \n",
       "213  hopper/TC4_2.json     False   0.016052       4      True       False   \n",
       "214  hopper/TC4_2.json      True   0.619398       4      True       False   \n",
       "215  hopper/TC4_3.json     False   0.010133       4      True       False   \n",
       "216  hopper/TC4_3.json      True  90.040169       0     False       False   \n",
       "74    hopper/TN4a.json     False   0.011078       4      True       False   \n",
       "75    hopper/TN4a.json      True   2.729461       4      True       False   \n",
       "87    hopper/TN4b.json     False   0.016591       4      True       False   \n",
       "88    hopper/TN4b.json      True   2.984406       4      True       False   \n",
       "76    hopper/TN4c.json     False   0.007838       4      True       False   \n",
       "10    hopper/TN4c.json      True   2.541890       4      True       False   \n",
       "41    hopper/TN4d.json     False   0.017420       4      True       False   \n",
       "42    hopper/TN4d.json      True   2.982913       4      True       False   \n",
       "94    hopper/TN4e.json     False   0.007778       4      True       False   \n",
       "95    hopper/TN4e.json      True   1.879873       4      True       False   \n",
       "153   hopper/C5_1.json     False  90.042225       0     False       False   \n",
       "154   hopper/C5_1.json      True  90.049085       0     False       False   \n",
       "150   hopper/C5_2.json     False  90.035154       0     False       False   \n",
       "151   hopper/C5_2.json      True  90.046592       0     False       False   \n",
       "197   hopper/C5_3.json     False  90.034641       0     False       False   \n",
       "198   hopper/C5_3.json      True  90.049622       0     False       False   \n",
       "114    hopper/N5a.json     False  90.045590       0     False       False   \n",
       "115    hopper/N5a.json      True  90.057826       0     False       False   \n",
       "106    hopper/N5b.json     False  90.050210       0     False       False   \n",
       "107    hopper/N5b.json      True  90.060038       0     False       False   \n",
       "104    hopper/N5c.json     False  90.039228       0     False       False   \n",
       "105    hopper/N5c.json      True  90.053166       0     False       False   \n",
       "81     hopper/N5d.json     False  90.044048       0     False       False   \n",
       "82     hopper/N5d.json      True  90.057683       0     False       False   \n",
       "21     hopper/N5e.json     False  90.047859       0     False       False   \n",
       "126    hopper/N5e.json      True  90.056035       0     False       False   \n",
       "199  hopper/TC5_1.json     False   0.024894       4      True       False   \n",
       "200  hopper/TC5_1.json      True   2.484567       4      True       False   \n",
       "163  hopper/TC5_2.json     False   0.019094       4      True       False   \n",
       "164  hopper/TC5_2.json      True   3.214923       4      True       False   \n",
       "195  hopper/TC5_3.json     False   0.016087       4      True       False   \n",
       "212  hopper/TC5_3.json      True   2.218730       4      True       False   \n",
       "17    hopper/TN5a.json     False   0.020282       4      True       False   \n",
       "18    hopper/TN5a.json      True   8.095542       4      True       False   \n",
       "40    hopper/TN5b.json     False   0.018967       4      True       False   \n",
       "53    hopper/TN5b.json      True   9.046098       4      True       False   \n",
       "31    hopper/TN5c.json     False   0.019052       4      True       False   \n",
       "32    hopper/TN5c.json      True   7.359675       4      True       False   \n",
       "69    hopper/TN5d.json     False   0.021331       4      True       False   \n",
       "70    hopper/TN5d.json      True   8.719765       4      True       False   \n",
       "19    hopper/TN5e.json     False   0.021729       4      True       False   \n",
       "20    hopper/TN5e.json      True   8.171357       4      True       False   \n",
       "144   hopper/C6_1.json     False  90.036928       0     False       False   \n",
       "219   hopper/C6_1.json      True  90.055643       0     False       False   \n",
       "206   hopper/C6_2.json     False  90.032487       0     False       False   \n",
       "207   hopper/C6_2.json      True  90.054420       0     False       False   \n",
       "166   hopper/C6_3.json     False  90.036247       0     False       False   \n",
       "167   hopper/C6_3.json      True  90.055764       0     False       False   \n",
       "99     hopper/N6a.json     False  90.041863       0     False       False   \n",
       "100    hopper/N6a.json      True  90.063768       0     False       False   \n",
       "24     hopper/N6b.json     False  90.042196       0     False       False   \n",
       "58     hopper/N6b.json      True  90.060118       0     False       False   \n",
       "8      hopper/N6c.json     False  90.046358       0     False       False   \n",
       "9      hopper/N6c.json      True  90.061522       0     False       False   \n",
       "50     hopper/N6d.json     False  90.044038       0     False       False   \n",
       "51     hopper/N6d.json      True  90.066215       0     False       False   \n",
       "136    hopper/N6e.json     False  90.050139       0     False       False   \n",
       "86     hopper/N6e.json      True  90.065589       0     False       False   \n",
       "168  hopper/TC6_1.json     False   0.031201       4      True       False   \n",
       "169  hopper/TC6_1.json      True  90.057573       0     False       False   \n",
       "204  hopper/TC6_2.json     False   0.031507       4      True       False   \n",
       "205  hopper/TC6_2.json      True  90.061470       0     False       False   \n",
       "140  hopper/TC6_3.json     False   0.031492       4      True       False   \n",
       "141  hopper/TC6_3.json      True   9.094279       4      True       False   \n",
       "59    hopper/TN6a.json     False   0.029096       4      True       False   \n",
       "60    hopper/TN6a.json      True  20.834414       4      True       False   \n",
       "66    hopper/TN6b.json     False   0.031390       4      True       False   \n",
       "113   hopper/TN6b.json      True  20.839930       4      True       False   \n",
       "64    hopper/TN6c.json     False   0.039223       4      True       False   \n",
       "65    hopper/TN6c.json      True  90.059647       0     False       False   \n",
       "38    hopper/TN6d.json     False   0.039253       4      True       False   \n",
       "39    hopper/TN6d.json      True  22.172262       4      True       False   \n",
       "98    hopper/TN6e.json     False   0.034157       4      True       False   \n",
       "129   hopper/TN6e.json      True  20.564489       4      True       False   \n",
       "175   hopper/C7_1.json     False  90.187222       0     False       False   \n",
       "176   hopper/C7_1.json      True  90.318941       0     False       False   \n",
       "189   hopper/C7_3.json     False  90.147794       0     False       False   \n",
       "190   hopper/C7_3.json      True  90.259936       0     False       False   \n",
       "157  hopper/TC7_1.json     False   0.302908       4      True       False   \n",
       "158  hopper/TC7_1.json      True  90.301020       0     False       False   \n",
       "187  hopper/TC7_3.json     False   0.361746       4      True       False   \n",
       "188  hopper/TC7_3.json      True  90.476585       0     False       False   \n",
       "177   hopper/C7_2.json     False  90.174463       0     False       False   \n",
       "145   hopper/C7_2.json      True  90.269157       0     False       False   \n",
       "119    hopper/N7a.json     False  90.144905       0     False       False   \n",
       "120    hopper/N7a.json      True  90.330726       0     False       False   \n",
       "138    hopper/N7b.json     False  90.140331       0     False       False   \n",
       "139    hopper/N7b.json      True  90.363065       0     False       False   \n",
       "101    hopper/N7c.json     False  90.194800       0     False       False   \n",
       "102    hopper/N7c.json      True  90.148461       0     False       False   \n",
       "77     hopper/N7d.json     False  90.158889       0     False       False   \n",
       "78     hopper/N7d.json      True  90.404980       0     False       False   \n",
       "132    hopper/N7e.json     False  90.172903       0     False       False   \n",
       "133    hopper/N7e.json      True  90.374479       0     False       False   \n",
       "185  hopper/TC7_2.json     False   0.360905       4      True       False   \n",
       "186  hopper/TC7_2.json      True  90.310499       0     False       False   \n",
       "15    hopper/TN7a.json     False   0.427442       4      True       False   \n",
       "16    hopper/TN7a.json      True  90.105845       0     False       False   \n",
       "118   hopper/TN7b.json     False   0.315599       4      True       False   \n",
       "137   hopper/TN7b.json      True  90.378781       0     False       False   \n",
       "35    hopper/TN7c.json     False   0.352441       4      True       False   \n",
       "36    hopper/TN7c.json      True  90.332512       0     False       False   \n",
       "92    hopper/TN7d.json     False   0.361128       4      True       False   \n",
       "93    hopper/TN7d.json      True  90.293606       0     False       False   \n",
       "52    hopper/TN7e.json     False   0.368462       4      True       False   \n",
       "25    hopper/TN7e.json      True  90.433582       0     False       False   \n",
       "\n",
       "     instance_size                                           solution  solved  \n",
       "184             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "146             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "181             16  placements=[Placement(x=16, y=0, rotated=False...    True  \n",
       "170             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "142             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "143             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "191             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "192             16  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "147             17  placements=[Placement(x=3, y=2, rotated=False)...    True  \n",
       "148             17  placements=[Placement(x=0, y=0, rotated=True),...    True  \n",
       "4               17  placements=[Placement(x=167, y=68, rotated=Fal...    True  \n",
       "5               17  placements=[Placement(x=0, y=0, rotated=True),...    True  \n",
       "72              17  placements=[Placement(x=63, y=0, rotated=False...    True  \n",
       "73              17  placements=[Placement(x=63, y=0, rotated=True)...    True  \n",
       "6               17  placements=[Placement(x=129, y=10, rotated=Fal...    True  \n",
       "7               17  placements=[Placement(x=104, y=0, rotated=True...    True  \n",
       "54              17  placements=[Placement(x=134, y=51, rotated=Fal...    True  \n",
       "55              17  placements=[Placement(x=0, y=0, rotated=True),...    True  \n",
       "30              17  placements=[Placement(x=179, y=44, rotated=Fal...    True  \n",
       "89              17  placements=[Placement(x=0, y=179, rotated=True...    True  \n",
       "210             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "211             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "37              17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "121             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "111             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "112             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "13              17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "14              17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "116             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "117             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "85              17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "108             17  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "182             25  placements=[Placement(x=29, y=12, rotated=Fals...    True  \n",
       "183             25  placements=[Placement(x=24, y=12, rotated=Fals...    True  \n",
       "201             25  placements=[Placement(x=29, y=12, rotated=Fals...    True  \n",
       "202             25  placements=[Placement(x=29, y=12, rotated=Fals...    True  \n",
       "173             25  placements=[Placement(x=9, y=0, rotated=False)...    True  \n",
       "174             25  placements=[Placement(x=31, y=3, rotated=True)...    True  \n",
       "22              25  placements=[Placement(x=25, y=137, rotated=Fal...    True  \n",
       "23              25                                               None   False  \n",
       "130             25                                               None   False  \n",
       "131             25  placements=[Placement(x=0, y=0, rotated=True),...    True  \n",
       "11              25  placements=[Placement(x=0, y=37, rotated=False...    True  \n",
       "12              25                                               None   False  \n",
       "96              25                                               None   False  \n",
       "97              25                                               None   False  \n",
       "90              25                                               None   False  \n",
       "91              25                                               None   False  \n",
       "193             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "194             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "159             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "160             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "165             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "149             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "61              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "62              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "109             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "110             25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "67              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "68              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "79              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "80              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "44              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "45              25  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "152             28  placements=[Placement(x=21, y=8, rotated=False...    True  \n",
       "178             28                                               None   False  \n",
       "217             28  placements=[Placement(x=0, y=17, rotated=False...    True  \n",
       "218             28  placements=[Placement(x=3, y=0, rotated=True),...    True  \n",
       "161             28  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "162             28  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "208             28  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "209             28  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "220             29  placements=[Placement(x=0, y=13, rotated=False...    True  \n",
       "221             29  placements=[Placement(x=30, y=7, rotated=True)...    True  \n",
       "43              29                                               None   False  \n",
       "103             29                                               None   False  \n",
       "122             29                                               None   False  \n",
       "123             29                                               None   False  \n",
       "2               29  placements=[Placement(x=165, y=65, rotated=Fal...    True  \n",
       "3               29                                               None   False  \n",
       "0               29                                               None   False  \n",
       "1               29                                               None   False  \n",
       "124             29                                               None   False  \n",
       "125             29                                               None   False  \n",
       "155             29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "156             29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "46              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "47              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "26              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "27              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "134             29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "135             29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "83              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "84              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "48              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "49              29  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "179             49                                               None   False  \n",
       "180             49                                               None   False  \n",
       "171             49                                               None   False  \n",
       "172             49                                               None   False  \n",
       "196             49                                               None   False  \n",
       "203             49                                               None   False  \n",
       "56              49                                               None   False  \n",
       "57              49                                               None   False  \n",
       "63              49                                               None   False  \n",
       "71              49                                               None   False  \n",
       "33              49                                               None   False  \n",
       "34              49                                               None   False  \n",
       "28              49                                               None   False  \n",
       "29              49                                               None   False  \n",
       "127             49                                               None   False  \n",
       "128             49                                               None   False  \n",
       "222             49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "223             49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "213             49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "214             49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "215             49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "216             49                                               None   False  \n",
       "74              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "75              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "87              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "88              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "76              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "10              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "41              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "42              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "94              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "95              49  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "153             73                                               None   False  \n",
       "154             73                                               None   False  \n",
       "150             73                                               None   False  \n",
       "151             73                                               None   False  \n",
       "197             73                                               None   False  \n",
       "198             73                                               None   False  \n",
       "114             73                                               None   False  \n",
       "115             73                                               None   False  \n",
       "106             73                                               None   False  \n",
       "107             73                                               None   False  \n",
       "104             73                                               None   False  \n",
       "105             73                                               None   False  \n",
       "81              73                                               None   False  \n",
       "82              73                                               None   False  \n",
       "21              73                                               None   False  \n",
       "126             73                                               None   False  \n",
       "199             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "200             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "163             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "164             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "195             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "212             73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "17              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "18              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "40              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "53              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "31              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "32              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "69              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "70              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "19              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "20              73  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "144             97                                               None   False  \n",
       "219             97                                               None   False  \n",
       "206             97                                               None   False  \n",
       "207             97                                               None   False  \n",
       "166             97                                               None   False  \n",
       "167             97                                               None   False  \n",
       "99              97                                               None   False  \n",
       "100             97                                               None   False  \n",
       "24              97                                               None   False  \n",
       "58              97                                               None   False  \n",
       "8               97                                               None   False  \n",
       "9               97                                               None   False  \n",
       "50              97                                               None   False  \n",
       "51              97                                               None   False  \n",
       "136             97                                               None   False  \n",
       "86              97                                               None   False  \n",
       "168             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "169             97                                               None   False  \n",
       "204             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "205             97                                               None   False  \n",
       "140             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "141             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "59              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "60              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "66              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "113             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "64              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "65              97                                               None   False  \n",
       "38              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "39              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "98              97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "129             97  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "175            196                                               None   False  \n",
       "176            196                                               None   False  \n",
       "189            196                                               None   False  \n",
       "190            196                                               None   False  \n",
       "157            196  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "158            196                                               None   False  \n",
       "187            196  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "188            196                                               None   False  \n",
       "177            197                                               None   False  \n",
       "145            197                                               None   False  \n",
       "119            197                                               None   False  \n",
       "120            197                                               None   False  \n",
       "138            197                                               None   False  \n",
       "139            197                                               None   False  \n",
       "101            197                                               None   False  \n",
       "102            197                                               None   False  \n",
       "77             197                                               None   False  \n",
       "78             197                                               None   False  \n",
       "132            197                                               None   False  \n",
       "133            197                                               None   False  \n",
       "185            197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "186            197                                               None   False  \n",
       "15             197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "16             197                                               None   False  \n",
       "118            197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "137            197                                               None   False  \n",
       "35             197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "36             197                                               None   False  \n",
       "92             197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "93             197                                               None   False  \n",
       "52             197  placements=[Placement(x=0, y=0, rotated=False)...    True  \n",
       "25             197                                               None   False  "
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = read_as_pandas(\n",
    "    \"./PRIVATE_DATA/results\",\n",
    "    lambda entry: {\n",
    "        \"instance\": entry[\"parameters\"][\"args\"][\"instance_name\"],\n",
    "        \"rotation\": \"WithRotation\" in entry[\"parameters\"][\"func\"],\n",
    "        \"time\": entry[\"runtime\"],\n",
    "        \"status\": entry[\"result\"][\"status\"],\n",
    "        \"feasible\": entry[\"result\"][\"feasible\"],\n",
    "        \"infeasible\": entry[\"result\"][\"infeasible\"],\n",
    "        \"instance_size\": get_instance_size(\n",
    "            entry[\"parameters\"][\"args\"][\"instance_name\"]\n",
    "        ),\n",
    "        \"solution\": entry[\"result\"][\"solution\"]\n",
    "        if entry[\"result\"][\"feasible\"]\n",
    "        else None,\n",
    "    }\n",
    "    if entry[\"parameters\"][\"func\"]\n",
    "    in [\n",
    "        \"run_RectanglePackingWithoutRotationsModel\",\n",
    "        \"run_RectanglePackingWithRotationsModel\",\n",
    "    ]\n",
    "    else None,\n",
    ")\n",
    "data[\"solved\"] = data[\"feasible\"] | data[\"infeasible\"]\n",
    "data.sort_values(by=[\"instance_size\", \"instance\", \"rotation\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>solved</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>instance_size</th>\n",
       "      <th>rotation</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">16</th>\n",
       "      <th>False</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">17</th>\n",
       "      <th>False</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">25</th>\n",
       "      <th>False</th>\n",
       "      <td>0.812500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">28</th>\n",
       "      <th>False</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">29</th>\n",
       "      <th>False</th>\n",
       "      <td>0.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.583333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">49</th>\n",
       "      <th>False</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.437500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">73</th>\n",
       "      <th>False</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">97</th>\n",
       "      <th>False</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.312500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">196</th>\n",
       "      <th>False</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">197</th>\n",
       "      <th>False</th>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          solved\n",
       "instance_size rotation          \n",
       "16            False     1.000000\n",
       "              True      1.000000\n",
       "17            False     1.000000\n",
       "              True      1.000000\n",
       "25            False     0.812500\n",
       "              True      0.750000\n",
       "28            False     1.000000\n",
       "              True      0.750000\n",
       "29            False     0.666667\n",
       "              True      0.583333\n",
       "49            False     0.500000\n",
       "              True      0.437500\n",
       "73            False     0.500000\n",
       "              True      0.500000\n",
       "97            False     0.500000\n",
       "              True      0.312500\n",
       "196           False     0.500000\n",
       "              True      0.000000\n",
       "197           False     0.500000\n",
       "              True      0.000000"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.groupby([\"instance_size\", \"rotation\"])[[\"solved\"]].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n",
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.set_theme(style=\"whitegrid\")\n",
    "plt.figure(figsize=(6, 3))\n",
    "t = data.groupby([\"instance_size\", \"rotation\"])[[\"solved\"]].mean().copy()\n",
    "t[\"solved\"] = t[\"solved\"] * 100\n",
    "t = t.reset_index()\n",
    "t.rename(columns={\"rotation\": \"Rotations allowed?\"}, inplace=True)\n",
    "ax = sns.barplot(x=\"instance_size\", y=\"solved\", hue=\"Rotations allowed?\", data=t)\n",
    "ax.set_title(\"Percentage of instances solved\")\n",
    "ax.set_ylabel(\"Percentage of instances solved\")\n",
    "ax.set_xlabel(\"Instance size (Number of rectangles)\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.set_theme(style=\"whitegrid\")\n",
    "plt.figure(figsize=(6, 3))\n",
    "t = data.groupby([\"instance_size\", \"rotation\"])[[\"feasible\"]].mean().copy()\n",
    "t[\"feasible\"] = t[\"feasible\"] * 100\n",
    "t = t.reset_index()\n",
    "t.rename(columns={\"rotation\": \"Rotations allowed?\"}, inplace=True)\n",
    "ax = sns.barplot(x=\"instance_size\", y=\"feasible\", hue=\"Rotations allowed?\", data=t)\n",
    "ax.set_title(\"Percentage of instances proved feasible\")\n",
    "ax.set_ylabel(\"Percentage of instances proved feasible\")\n",
    "ax.set_xlabel(\"Instance size (Number of rectangles)\")\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n",
      "/home/krupke/anaconda3/envs/mo312/lib/python3.12/site-packages/seaborn/_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n",
      "  data_subset = grouped_data.get_group(pd_key)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "sns.set_theme(style=\"whitegrid\")\n",
    "plt.figure(figsize=(6, 3))\n",
    "t = data.groupby([\"instance_size\", \"rotation\"])[[\"infeasible\"]].mean().copy()\n",
    "t[\"infeasible\"] = t[\"infeasible\"] * 100\n",
    "t = t.reset_index()\n",
    "t.rename(columns={\"rotation\": \"Rotations allowed?\"}, inplace=True)\n",
    "ax = sns.barplot(x=\"instance_size\", y=\"infeasible\", hue=\"Rotations allowed?\", data=t)\n",
    "ax.set_title(\"Percentage of instances proved infeasible\")\n",
    "ax.set_ylabel(\"Percentage of instances proved infeasible\")\n",
    "ax.set_xlabel(\"Instance size (Number of rectangles)\")\n",
    "ax.set_ylim(0, 100)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'placements=[Placement(x=0, y=0, rotated=False), Placement(x=0, y=17, rotated=False), Placement(x=0, y=38, rotated=False), Placement(x=0, y=74, rotated=False), Placement(x=0, y=98, rotated=False), Placement(x=0, y=103, rotated=False), Placement(x=0, y=123, rotated=False), Placement(x=0, y=158, rotated=False), Placement(x=8, y=38, rotated=False), Placement(x=8, y=49, rotated=False), Placement(x=9, y=74, rotated=False), Placement(x=9, y=84, rotated=False), Placement(x=15, y=158, rotated=False), Placement(x=15, y=160, rotated=False), Placement(x=15, y=182, rotated=False), Placement(x=19, y=17, rotated=False), Placement(x=19, y=123, rotated=False), Placement(x=19, y=182, rotated=False), Placement(x=19, y=185, rotated=False), Placement(x=20, y=103, rotated=False), Placement(x=20, y=113, rotated=False), Placement(x=24, y=98, rotated=False), Placement(x=27, y=160, rotated=False), Placement(x=28, y=84, rotated=False), Placement(x=32, y=123, rotated=False), Placement(x=32, y=134, rotated=False), Placement(x=32, y=150, rotated=False), Placement(x=32, y=156, rotated=False), Placement(x=32, y=196, rotated=False), Placement(x=34, y=17, rotated=False), Placement(x=34, y=23, rotated=False), Placement(x=34, y=36, rotated=False), Placement(x=34, y=47, rotated=False), Placement(x=34, y=62, rotated=False), Placement(x=36, y=36, rotated=False), Placement(x=36, y=44, rotated=False), Placement(x=39, y=23, rotated=False), Placement(x=39, y=28, rotated=False), Placement(x=39, y=44, rotated=False), Placement(x=39, y=51, rotated=False), Placement(x=40, y=74, rotated=False), Placement(x=40, y=92, rotated=False), Placement(x=40, y=134, rotated=False), Placement(x=40, y=140, rotated=False), Placement(x=42, y=156, rotated=False), Placement(x=42, y=175, rotated=False), Placement(x=45, y=44, rotated=False), Placement(x=45, y=46, rotated=False), Placement(x=48, y=17, rotated=False), Placement(x=50, y=46, rotated=False), Placement(x=51, y=175, rotated=False), Placement(x=52, y=92, rotated=False), Placement(x=52, y=95, rotated=False), Placement(x=52, y=106, rotated=False), Placement(x=54, y=140, rotated=False), Placement(x=57, y=0, rotated=False), Placement(x=57, y=30, rotated=False), Placement(x=57, y=156, rotated=False), Placement(x=57, y=187, rotated=False), Placement(x=57, y=194, rotated=False), Placement(x=58, y=36, rotated=False), Placement(x=58, y=51, rotated=False), Placement(x=59, y=95, rotated=False), Placement(x=59, y=104, rotated=False), Placement(x=61, y=187, rotated=False), Placement(x=61, y=192, rotated=False), Placement(x=62, y=92, rotated=False), Placement(x=65, y=134, rotated=False), Placement(x=67, y=0, rotated=False), Placement(x=67, y=6, rotated=False), Placement(x=69, y=74, rotated=False), Placement(x=70, y=192, rotated=False), Placement(x=73, y=6, rotated=False), Placement(x=73, y=14, rotated=False), Placement(x=76, y=51, rotated=False), Placement(x=76, y=60, rotated=False), Placement(x=82, y=74, rotated=False), Placement(x=82, y=138, rotated=False), Placement(x=82, y=152, rotated=False), Placement(x=82, y=160, rotated=False), Placement(x=82, y=164, rotated=False), Placement(x=82, y=182, rotated=False), Placement(x=86, y=164, rotated=False), Placement(x=86, y=169, rotated=False), Placement(x=90, y=6, rotated=False), Placement(x=90, y=8, rotated=False), Placement(x=90, y=10, rotated=False), Placement(x=92, y=152, rotated=False), Placement(x=92, y=155, rotated=False), Placement(x=92, y=160, rotated=False), Placement(x=94, y=60, rotated=False), Placement(x=94, y=72, rotated=False), Placement(x=94, y=155, rotated=False), Placement(x=95, y=10, rotated=False), Placement(x=96, y=51, rotated=False), Placement(x=96, y=66, rotated=False), Placement(x=99, y=6, rotated=False), Placement(x=99, y=7, rotated=False), Placement(x=99, y=152, rotated=False), Placement(x=99, y=155, rotated=False), Placement(x=101, y=7, rotated=False), Placement(x=101, y=66, rotated=False), Placement(x=101, y=67, rotated=False), Placement(x=102, y=51, rotated=False), Placement(x=105, y=0, rotated=False), Placement(x=105, y=73, rotated=False), Placement(x=105, y=84, rotated=False), Placement(x=105, y=88, rotated=False), Placement(x=105, y=95, rotated=False), Placement(x=105, y=101, rotated=False), Placement(x=105, y=107, rotated=False), Placement(x=105, y=123, rotated=False), Placement(x=105, y=133, rotated=False), Placement(x=113, y=133, rotated=False), Placement(x=113, y=136, rotated=False), Placement(x=114, y=123, rotated=False), Placement(x=115, y=101, rotated=False), Placement(x=115, y=102, rotated=False), Placement(x=116, y=107, rotated=False), Placement(x=116, y=111, rotated=False), Placement(x=116, y=121, rotated=False), Placement(x=118, y=111, rotated=False), Placement(x=118, y=116, rotated=False), Placement(x=119, y=138, rotated=False), Placement(x=120, y=0, rotated=False), Placement(x=120, y=12, rotated=False), Placement(x=120, y=55, rotated=False), Placement(x=120, y=84, rotated=False), Placement(x=120, y=86, rotated=False), Placement(x=120, y=95, rotated=False), Placement(x=124, y=107, rotated=False), Placement(x=124, y=113, rotated=False), Placement(x=125, y=107, rotated=False), Placement(x=125, y=109, rotated=False), Placement(x=125, y=121, rotated=False), Placement(x=126, y=138, rotated=False), Placement(x=126, y=155, rotated=False), Placement(x=126, y=158, rotated=False), Placement(x=126, y=164, rotated=False), Placement(x=127, y=12, rotated=False), Placement(x=127, y=43, rotated=False), Placement(x=129, y=86, rotated=False), Placement(x=129, y=109, rotated=False), Placement(x=130, y=138, rotated=False), Placement(x=130, y=146, rotated=False), Placement(x=131, y=95, rotated=False), Placement(x=131, y=103, rotated=False), Placement(x=132, y=55, rotated=False), Placement(x=132, y=60, rotated=False), Placement(x=133, y=84, rotated=False), Placement(x=133, y=97, rotated=False), Placement(x=133, y=107, rotated=False), Placement(x=133, y=127, rotated=False), Placement(x=133, y=134, rotated=False), Placement(x=135, y=84, rotated=False), Placement(x=135, y=92, rotated=False), Placement(x=136, y=0, rotated=False), Placement(x=137, y=55, rotated=False), Placement(x=137, y=58, rotated=False), Placement(x=137, y=92, rotated=False), Placement(x=137, y=146, rotated=False), Placement(x=139, y=58, rotated=False), Placement(x=143, y=0, rotated=False), Placement(x=143, y=22, rotated=False), Placement(x=143, y=34, rotated=False), Placement(x=143, y=50, rotated=False), Placement(x=148, y=138, rotated=False), Placement(x=148, y=152, rotated=False), Placement(x=148, y=155, rotated=False), Placement(x=149, y=84, rotated=False), Placement(x=150, y=127, rotated=False), Placement(x=150, y=131, rotated=False), Placement(x=151, y=131, rotated=False), Placement(x=156, y=34, rotated=False), Placement(x=156, y=43, rotated=False), Placement(x=156, y=50, rotated=False), Placement(x=156, y=58, rotated=False), Placement(x=156, y=152, rotated=False), Placement(x=156, y=154, rotated=False), Placement(x=161, y=154, rotated=False), Placement(x=167, y=152, rotated=False), Placement(x=172, y=58, rotated=False), Placement(x=172, y=73, rotated=False), Placement(x=172, y=130, rotated=False), Placement(x=175, y=0, rotated=False), Placement(x=175, y=14, rotated=False), Placement(x=182, y=73, rotated=False), Placement(x=182, y=120, rotated=False), Placement(x=184, y=164, rotated=False), Placement(x=184, y=179, rotated=False), Placement(x=185, y=120, rotated=False), Placement(x=186, y=22, rotated=False), Placement(x=189, y=179, rotated=False), Placement(x=189, y=184, rotated=False), Placement(x=191, y=164, rotated=False), Placement(x=193, y=50, rotated=False), Placement(x=194, y=14, rotated=False)]'"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.loc[(data[\"instance\"] == \"hopper/TN7e.json\") & (data[\"rotation\"] == False)].iloc[\n",
    "    0\n",
    "][\"solution\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [],
   "source": [
    "solution = Solution(\n",
    "    placements=[\n",
    "        Placement(x=0, y=0, rotated=False),\n",
    "        Placement(x=0, y=17, rotated=False),\n",
    "        Placement(x=0, y=38, rotated=False),\n",
    "        Placement(x=0, y=74, rotated=False),\n",
    "        Placement(x=0, y=98, rotated=False),\n",
    "        Placement(x=0, y=103, rotated=False),\n",
    "        Placement(x=0, y=123, rotated=False),\n",
    "        Placement(x=0, y=158, rotated=False),\n",
    "        Placement(x=8, y=38, rotated=False),\n",
    "        Placement(x=8, y=49, rotated=False),\n",
    "        Placement(x=9, y=74, rotated=False),\n",
    "        Placement(x=9, y=84, rotated=False),\n",
    "        Placement(x=15, y=158, rotated=False),\n",
    "        Placement(x=15, y=160, rotated=False),\n",
    "        Placement(x=15, y=182, rotated=False),\n",
    "        Placement(x=19, y=17, rotated=False),\n",
    "        Placement(x=19, y=123, rotated=False),\n",
    "        Placement(x=19, y=182, rotated=False),\n",
    "        Placement(x=19, y=185, rotated=False),\n",
    "        Placement(x=20, y=103, rotated=False),\n",
    "        Placement(x=20, y=113, rotated=False),\n",
    "        Placement(x=24, y=98, rotated=False),\n",
    "        Placement(x=27, y=160, rotated=False),\n",
    "        Placement(x=28, y=84, rotated=False),\n",
    "        Placement(x=32, y=123, rotated=False),\n",
    "        Placement(x=32, y=134, rotated=False),\n",
    "        Placement(x=32, y=150, rotated=False),\n",
    "        Placement(x=32, y=156, rotated=False),\n",
    "        Placement(x=32, y=196, rotated=False),\n",
    "        Placement(x=34, y=17, rotated=False),\n",
    "        Placement(x=34, y=23, rotated=False),\n",
    "        Placement(x=34, y=36, rotated=False),\n",
    "        Placement(x=34, y=47, rotated=False),\n",
    "        Placement(x=34, y=62, rotated=False),\n",
    "        Placement(x=36, y=36, rotated=False),\n",
    "        Placement(x=36, y=44, rotated=False),\n",
    "        Placement(x=39, y=23, rotated=False),\n",
    "        Placement(x=39, y=28, rotated=False),\n",
    "        Placement(x=39, y=44, rotated=False),\n",
    "        Placement(x=39, y=51, rotated=False),\n",
    "        Placement(x=40, y=74, rotated=False),\n",
    "        Placement(x=40, y=92, rotated=False),\n",
    "        Placement(x=40, y=134, rotated=False),\n",
    "        Placement(x=40, y=140, rotated=False),\n",
    "        Placement(x=42, y=156, rotated=False),\n",
    "        Placement(x=42, y=175, rotated=False),\n",
    "        Placement(x=45, y=44, rotated=False),\n",
    "        Placement(x=45, y=46, rotated=False),\n",
    "        Placement(x=48, y=17, rotated=False),\n",
    "        Placement(x=50, y=46, rotated=False),\n",
    "        Placement(x=51, y=175, rotated=False),\n",
    "        Placement(x=52, y=92, rotated=False),\n",
    "        Placement(x=52, y=95, rotated=False),\n",
    "        Placement(x=52, y=106, rotated=False),\n",
    "        Placement(x=54, y=140, rotated=False),\n",
    "        Placement(x=57, y=0, rotated=False),\n",
    "        Placement(x=57, y=30, rotated=False),\n",
    "        Placement(x=57, y=156, rotated=False),\n",
    "        Placement(x=57, y=187, rotated=False),\n",
    "        Placement(x=57, y=194, rotated=False),\n",
    "        Placement(x=58, y=36, rotated=False),\n",
    "        Placement(x=58, y=51, rotated=False),\n",
    "        Placement(x=59, y=95, rotated=False),\n",
    "        Placement(x=59, y=104, rotated=False),\n",
    "        Placement(x=61, y=187, rotated=False),\n",
    "        Placement(x=61, y=192, rotated=False),\n",
    "        Placement(x=62, y=92, rotated=False),\n",
    "        Placement(x=65, y=134, rotated=False),\n",
    "        Placement(x=67, y=0, rotated=False),\n",
    "        Placement(x=67, y=6, rotated=False),\n",
    "        Placement(x=69, y=74, rotated=False),\n",
    "        Placement(x=70, y=192, rotated=False),\n",
    "        Placement(x=73, y=6, rotated=False),\n",
    "        Placement(x=73, y=14, rotated=False),\n",
    "        Placement(x=76, y=51, rotated=False),\n",
    "        Placement(x=76, y=60, rotated=False),\n",
    "        Placement(x=82, y=74, rotated=False),\n",
    "        Placement(x=82, y=138, rotated=False),\n",
    "        Placement(x=82, y=152, rotated=False),\n",
    "        Placement(x=82, y=160, rotated=False),\n",
    "        Placement(x=82, y=164, rotated=False),\n",
    "        Placement(x=82, y=182, rotated=False),\n",
    "        Placement(x=86, y=164, rotated=False),\n",
    "        Placement(x=86, y=169, rotated=False),\n",
    "        Placement(x=90, y=6, rotated=False),\n",
    "        Placement(x=90, y=8, rotated=False),\n",
    "        Placement(x=90, y=10, rotated=False),\n",
    "        Placement(x=92, y=152, rotated=False),\n",
    "        Placement(x=92, y=155, rotated=False),\n",
    "        Placement(x=92, y=160, rotated=False),\n",
    "        Placement(x=94, y=60, rotated=False),\n",
    "        Placement(x=94, y=72, rotated=False),\n",
    "        Placement(x=94, y=155, rotated=False),\n",
    "        Placement(x=95, y=10, rotated=False),\n",
    "        Placement(x=96, y=51, rotated=False),\n",
    "        Placement(x=96, y=66, rotated=False),\n",
    "        Placement(x=99, y=6, rotated=False),\n",
    "        Placement(x=99, y=7, rotated=False),\n",
    "        Placement(x=99, y=152, rotated=False),\n",
    "        Placement(x=99, y=155, rotated=False),\n",
    "        Placement(x=101, y=7, rotated=False),\n",
    "        Placement(x=101, y=66, rotated=False),\n",
    "        Placement(x=101, y=67, rotated=False),\n",
    "        Placement(x=102, y=51, rotated=False),\n",
    "        Placement(x=105, y=0, rotated=False),\n",
    "        Placement(x=105, y=73, rotated=False),\n",
    "        Placement(x=105, y=84, rotated=False),\n",
    "        Placement(x=105, y=88, rotated=False),\n",
    "        Placement(x=105, y=95, rotated=False),\n",
    "        Placement(x=105, y=101, rotated=False),\n",
    "        Placement(x=105, y=107, rotated=False),\n",
    "        Placement(x=105, y=123, rotated=False),\n",
    "        Placement(x=105, y=133, rotated=False),\n",
    "        Placement(x=113, y=133, rotated=False),\n",
    "        Placement(x=113, y=136, rotated=False),\n",
    "        Placement(x=114, y=123, rotated=False),\n",
    "        Placement(x=115, y=101, rotated=False),\n",
    "        Placement(x=115, y=102, rotated=False),\n",
    "        Placement(x=116, y=107, rotated=False),\n",
    "        Placement(x=116, y=111, rotated=False),\n",
    "        Placement(x=116, y=121, rotated=False),\n",
    "        Placement(x=118, y=111, rotated=False),\n",
    "        Placement(x=118, y=116, rotated=False),\n",
    "        Placement(x=119, y=138, rotated=False),\n",
    "        Placement(x=120, y=0, rotated=False),\n",
    "        Placement(x=120, y=12, rotated=False),\n",
    "        Placement(x=120, y=55, rotated=False),\n",
    "        Placement(x=120, y=84, rotated=False),\n",
    "        Placement(x=120, y=86, rotated=False),\n",
    "        Placement(x=120, y=95, rotated=False),\n",
    "        Placement(x=124, y=107, rotated=False),\n",
    "        Placement(x=124, y=113, rotated=False),\n",
    "        Placement(x=125, y=107, rotated=False),\n",
    "        Placement(x=125, y=109, rotated=False),\n",
    "        Placement(x=125, y=121, rotated=False),\n",
    "        Placement(x=126, y=138, rotated=False),\n",
    "        Placement(x=126, y=155, rotated=False),\n",
    "        Placement(x=126, y=158, rotated=False),\n",
    "        Placement(x=126, y=164, rotated=False),\n",
    "        Placement(x=127, y=12, rotated=False),\n",
    "        Placement(x=127, y=43, rotated=False),\n",
    "        Placement(x=129, y=86, rotated=False),\n",
    "        Placement(x=129, y=109, rotated=False),\n",
    "        Placement(x=130, y=138, rotated=False),\n",
    "        Placement(x=130, y=146, rotated=False),\n",
    "        Placement(x=131, y=95, rotated=False),\n",
    "        Placement(x=131, y=103, rotated=False),\n",
    "        Placement(x=132, y=55, rotated=False),\n",
    "        Placement(x=132, y=60, rotated=False),\n",
    "        Placement(x=133, y=84, rotated=False),\n",
    "        Placement(x=133, y=97, rotated=False),\n",
    "        Placement(x=133, y=107, rotated=False),\n",
    "        Placement(x=133, y=127, rotated=False),\n",
    "        Placement(x=133, y=134, rotated=False),\n",
    "        Placement(x=135, y=84, rotated=False),\n",
    "        Placement(x=135, y=92, rotated=False),\n",
    "        Placement(x=136, y=0, rotated=False),\n",
    "        Placement(x=137, y=55, rotated=False),\n",
    "        Placement(x=137, y=58, rotated=False),\n",
    "        Placement(x=137, y=92, rotated=False),\n",
    "        Placement(x=137, y=146, rotated=False),\n",
    "        Placement(x=139, y=58, rotated=False),\n",
    "        Placement(x=143, y=0, rotated=False),\n",
    "        Placement(x=143, y=22, rotated=False),\n",
    "        Placement(x=143, y=34, rotated=False),\n",
    "        Placement(x=143, y=50, rotated=False),\n",
    "        Placement(x=148, y=138, rotated=False),\n",
    "        Placement(x=148, y=152, rotated=False),\n",
    "        Placement(x=148, y=155, rotated=False),\n",
    "        Placement(x=149, y=84, rotated=False),\n",
    "        Placement(x=150, y=127, rotated=False),\n",
    "        Placement(x=150, y=131, rotated=False),\n",
    "        Placement(x=151, y=131, rotated=False),\n",
    "        Placement(x=156, y=34, rotated=False),\n",
    "        Placement(x=156, y=43, rotated=False),\n",
    "        Placement(x=156, y=50, rotated=False),\n",
    "        Placement(x=156, y=58, rotated=False),\n",
    "        Placement(x=156, y=152, rotated=False),\n",
    "        Placement(x=156, y=154, rotated=False),\n",
    "        Placement(x=161, y=154, rotated=False),\n",
    "        Placement(x=167, y=152, rotated=False),\n",
    "        Placement(x=172, y=58, rotated=False),\n",
    "        Placement(x=172, y=73, rotated=False),\n",
    "        Placement(x=172, y=130, rotated=False),\n",
    "        Placement(x=175, y=0, rotated=False),\n",
    "        Placement(x=175, y=14, rotated=False),\n",
    "        Placement(x=182, y=73, rotated=False),\n",
    "        Placement(x=182, y=120, rotated=False),\n",
    "        Placement(x=184, y=164, rotated=False),\n",
    "        Placement(x=184, y=179, rotated=False),\n",
    "        Placement(x=185, y=120, rotated=False),\n",
    "        Placement(x=186, y=22, rotated=False),\n",
    "        Placement(x=189, y=179, rotated=False),\n",
    "        Placement(x=189, y=184, rotated=False),\n",
    "        Placement(x=191, y=164, rotated=False),\n",
    "        Placement(x=193, y=50, rotated=False),\n",
    "        Placement(x=194, y=14, rotated=False),\n",
    "    ]\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "instance = Instance.model_validate_json(open(\"./instances/hopper/TN7e.json\").read())\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# restore basic style\n",
    "plt.style.use(\"default\")\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plot_solution(ax, instance, solution)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "mo312",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
